Provide a more stable 'branch' command.

This somewhat addresses the problem in https://github.com/platformsh/platformsh-cli/issues/109#issuecomment-56787900

This:
 * checks that you're not already on the specified branch
 * checks that the specified new branch name doesn't already exist (offering to check it out if it does)
 * tries to checkout or create the new branch locally via Git _first_, bailing if it's not possible, THEN tries to create the branch on platform.sh (a `--force` option is provided to skip these local checks)
 * replaces the `--no-build` option with `--build`
 * limits branch names to 32 characters
 * updates PlatformCommand::getCurrentEnvironment() to work with sanitized branch names

At some point we should have proper exceptions instead of doing
`$output->writeln('<error>message</error>');`

for now `return 1` is a handy way of giving the shell a non-zero exit code.