Use Clamp for the CLI

Unlike Thor, Clamp gives us a more object-oriented approach to the CLI. This
allows us to only load specific files required for a given command.
Additionally, we can break commands into their own Ruby files, improving the
test speed and git-diffing in the future.
Lazy load generators until we call them
Remove MD5 require (we aren't using it)
Update help feature to remove Thorisms
Set the formatter during each test (since it might persist)
Remove hashie
Remove JSON.create_id (it's been fixed upstream)
Fix failing unit tests
Replace Thor generators with commands
Use commands instead of generators
Don't prompt in tests
Use a better feature description
Begin moving to autoload
Move more things into autoload
A commit.
Do not use the generator in tests
Don't override rake tasks
Run specs in a random order

Now that we are using autoload, it is important that we do not have
load-order specific dependencies.
Remove aruba helper
remove_instance_variable is a private method