Adding Overlords agent-client

Also adding in some errors and encoding from teeth-rest. I simplified the
agent client to be its own object.
Fixing a few errors
Use Ironic exceptions and json
flake8 fixes
Pinning pyghmi (latest version is broken) and ironic
Using Ironic exceptions

Getting rid of RESTError and using IronicException as a base. Also modifying
the exceptions to look like Ironic exceptions and be translatable.
Using hacking to avoid flake issues with _
Moving to Ironic style exceptions

Removed RESTError in favor of IronicException. Using the translatable
exceptions that they use.
Merge pull request #3 from rackerlabs/JoshNang/add-teeth-agent

Adding Teeth Agent Client