Work on list_machines, list_jobs.

* Start implementing a ClusterState API
* Push more serialize/deserialize to the models
* Refactor machines API a bit.  This is going to break our clients and the overview UI,
  need to test more on that.  More refactoring of machine and job API
  is needed to be more modular and follow serialize/deserialize
  patterns