Keep track of all known agents

@tpetr 
- Have an agent register itself when it starts up (done by hostname right now as the key, would something else be better?)
- expose an endpoint for viewing all known agents (returns a collection of agent metadata)
- expose an endpoint for deleting a known agent in the case it is removed
`String.format()` is preferable