Agent Reconciler

I still need to get the AgentReconciler tested, but this is where I want to take the agent package. All feedback welcome!
I have likely missed something. I'll see if it can be removed. And just to be clear, we use locks to stabilize the cache for reads as well.