Simplify the format a little

In particular, do not capitalize keys in hashes as that leads to confusion
with fact names.
Fix typo so that we print help when no arguments are given
* bin/error: fix logic error that led to suppression of error messages
Package as a gem
Keep metadata about some command args in the client

Ultimately, we want the server to provide enough information so that
client(s) can deal with the API in fairly generic terms; to that end, the
server will have to provide some metadata around commands, collections etc.

Until we have figured out what that metadata should be and what shape it
should be, we'll store it in a separate YAML file with the client so that
the client will mostly work as if the server provided that metadata without
making the corresponding API commitment.

This is needed to make the fix for
https://github.com/puppetlabs/razor-server/issues/68 (new command
update-tag) usable