Agent Reconciler

I still need to get the AgentReconciler tested, but this is where I want to take the agent package. All feedback welcome!
This is unfortunate, I wish go let you marshal otherwise-unexported fields in the original struct