Rename client.go to reflect its new contents.
Refactor to include G5CLIExecutionContext.

OK, bunch of changes here. g5cli.Client/Location were moved under the
local package because that's where they come from and are stored. Also
it solved some circular import issues I was running into. But mostly
they belong there, too.

Created a G5CLIExecutionContext, which should make some tests and
simpler soon. It'll also stop the function argument creep I'm seeing in
the individual commands.
Have heroku task actually execute the command.

Wooooo boy that's some go right there, son. Maybe. I might also be
really awful at this. It'd be cool to test the command execution stuff,
but what I really wanted to do was have a way to test it well. Enter an
interface for a HerokuExecutor. There's a real (untested) implementation
and a test one that just saves the commands that it receives. We'll see
how it goes.

I have some stuff going on where the Fatal logger is never used and
there are some good cases for it. Soon.
Convert another test to testify.
Convert another test to testify.
Add nagging about updating local data.
Add update command.

It's jenky in that it doesn't actually update. Also not tested, but the
test would be many times longer than the implementation and I don't feel
like going overboard.