Implement `honcho run PROCESS`

This makes `honcho run` primarily about running a Procfile-specified
process in the foreground. Previously it was about running an arbitrary
shell command, which still works, but now as the fall-through case if a
single arg to `honcho run` doesn't match a Procfile process.

The reason this change is desirable is to be able to use debugging tools
such as pdb along with Procfile process aliases. Furthermore, this
brings honcho back into harmony with Foreman's behavior, but in a way
that is documented more sensibly (Foreman presents the process case as
the exception rather than the command case).

This change is backwards-compatible except for edge cases where a shell
command name was used as a Procfile process name. So, for example, if
`mv` was a process name, then calling `honcho run mv` would now invoke
the Procfile process rather than the shell command. Since we also check
for the number of arguments when trying to interpret as a process name,
this edge case is especially edgy. I think this can safely be considered
a backwards-compatible change for all practical purposes.