Enable creating sub-commands with a specified name

Sub-commands can only be created with the same name as the decorated
function. This allows a name to be passed to the begin.subcommand()
decorator to use instead. Closes #26