Multiple changes to the Agent

We now support JSON Signing of all api calls so we can detect tampering.
This works at this point up to registration. We can start the UI for
agents.