A couple of minor fixups to Run:

* Make cleanup look at a wider variety of things, including runs that
  were equeued but that are no longer validdue to the node node being
  alive and available
* Make enqueue always call run!
Add an on_node_change hook to the Role model.
Add support for allowing class-specific update hooks.
Add an update hook to nodes_controller to drive node state changes.
Merge pull request #712 from VictorLowther/pull-req-master-e81f07a6be99a0e5da101792c86ed9de0660402b

+2 under duress because of the ugliness of the hack.