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 think you should grab this once at the start of `Reconcile()` and pass it to both users (this and `currentOffers`), unless you have good reason otherwise