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
we should add an `agentId` field to `BaragonAgentMetadata` and have the add/remove methods use that object's field, instead having it be an argument