Default branch auto-discovery
Created by: rspeicher
A Project's default_branch
will now be null by default. Upon the first
repository push, discover_default_branch
gets called. If only one
branch exists, we use that. If two branches exist, we prefer the one
called master.
Includes a migration, so run those migrations, people!
Closes #803