Simplify title and body hint message creation.
Merge pull request #136 from jingweno/remove_editor_function

Simplify title and body hint message creation.
Pull in cucumber tests from Hub

Since https://github.com/github/hub/compare/31a85e519e0a080dd10ce21339f806a9a0877766...master

Some tests are ignored either because they don't make sense or WIP
Merge remote-tracking branch 'origin/master' into pull_in_cucumber_tests

Conflicts:
	commands/pull_request.go
	git/git.go
Extract to local var refPrefix
Only split alias command if it doesn't start with !
Merge branch 'fix_alias_exec'
Merge branch 'pull_in_cucumber_tests'
Allow to chain subcommands using `command.Use(subcommandName, subcommand)`.
Print command and subcommand short usage when calling an unknown command.
Add global commands to the runner.

- Use a hash to lookup for commands.
- Add more tests for the command and runner execution.
Do not parse the argument for git extensions.
Do not expect a different program name in the usage help.
Use a POSIX compatible flag parser.

So we can use flags before and after arguments, and we can group boolean flags, just like git does.
Set usage function for subcommands.
Allow interspersed arguments.
Assign release create flags to the proper command.
Be consistent about the exec name again.

Because this PR is not about that.
Print subcommand lookup errors.
Update completion scripts.