Agent Reconciler

I still need to get the AgentReconciler tested, but this is where I want to take the agent package. All feedback welcome!
unexported a bunch of stuff in latest push