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 know this is super anal, but could you add a space after the `@Named()` ?