registry: remove CheckJobPulse from interface
registry: use available data to determine Job.State

Remove two unnecessary etcd requests by using the data
that is already available on the Job model passed
to determineJobState.
registry: minimize requests to get Job from Registry
Merge pull request #735 from bcwaldon/733

Stop making unnecessary requests to etcd
engine: collapse Reconciler and dumbReconciler
engine: break out scheduler from reconciler
agent: move AbleToRun to AgentState
engine: drop offers; pick first capable agent
engine: refactor clusterState; track changes during reconcile
engine: schedule to agent with least number of units