Slow workings towards current goals
muddle pull and merge (for git) now share code

and more work towards handling specified revisions sensibly.
muddle status, muddle push, check for detached HEAD

The former warns about it (and suggests a remedy).

The latter won't allow pushing (and ditto).
Tidy up reparenting
Branching from a detached HEAD
A bit more thought...
Thoughts on what to do next.
More thinking on what to do

Also, add a new value to the Builder, and some more documentation
Add builder.build_desc_label
Move normalise_checkout_label somewhere more sensible
Add db.domain_build_desc_label dictionary
Make distribute.py use the new dictionary
Remove unnecessary argument
Add some minimal branch handling to (git) VCS
Add a query for the current build desc branch

(and it also reports if that will be used for other checkouts)
Best say "in that domain" in case someone needs to know
Merge branch 'master' into lifecycle-branching

Conflicts:
	muddled/vcs/git.py - fixed by accepting 'master'
Remove erroneous argument from baseclass push()

Not sure where that 'branch' argument came from, but it's not
implemented by any of the actual classes.
Make bzr support grumble if branches are requested.

That is, treat Repository branch values in the same way as is done
by Subversion. Also add a note to the docstring for svn and bzr
to explain this lack of support.
Add a "supports_branching" method

(where we have the git sense of branching in mind)