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
i'd call this `removeKnownAgent()` -- clear makes me think we're keeping the node but erasing the data inside