Adds hardware reload support to API client and CLI.
Fixes name of hardware manager in tests
Macaroni called and asked for some tildes
Merge pull request #95 from briancline/hardware-reload

Adds hardware reload support to API client and CLI.
Gives a more informative error message for invalid arguments.
Refactor of CLI core.

Refactors core CLI code in order to make help a first-class module and
give more verbose error messages when the module or command is not found.

Example:
> sl help
<help about all modules>
> sl help cci
<help about all cci commands>
> sl help cci list
<help about the cci list command>
> sl invalid
<primary help block>

Invalid module: "invalid".
> sl cci invalid
<cci module help block>

Invalid command: "invalid".
Fixes bug on Python 3 because SystemExit does not have a message attribute.
TRIVIAL: removes needless debugging in a test
Fixes Typo
Adds some hardware filters
Moves hardware list description test to the right place
Merge pull request #97 from sudorandom/hardware_improvements

Hardware List Filters
Merge pull request #96 from sudorandom/core_refactor

Improved Help Command. Better Error Messages for invalid Modules/Commands