Add tighter control over how jig runs are queued on a per-node basis, and rework the DNS barclamp to use the new runs infrastructure. [1/4]

This pull request adds a few new features:

* Move most of the annealing responsibilites to a newly-created Run
  class.  This allows to to more easily enforce our one jig run at a
  time per node rule, and gives us a nicer place to control what kind
  of parallelism we use.
* Fix up the DNS barclamp to use the new Run infrastructure and the
  on_node_* hooks to manage our DNS infrastructure.  This will also
  act as a template for similar changes needed for the DHCP
  infrastructure.
* Minor update to the provisioner barclamp to handle bringing up the
node properly in the face of the Runs and DNS barclamp changes.


 .../app/controllers/node_roles_controller.rb       |  2 +-
 crowbar_framework/app/models/node.rb               | 14 ++--
 crowbar_framework/app/models/node_role.rb          | 64 ++++++-------------
 crowbar_framework/app/models/run.rb                | 74 ++++++++++++++++++++++
 .../db/migrate/20130928_create_runs.rb             | 28 ++++++++
 5 files changed, 125 insertions(+), 57 deletions(-)

Crowbar-Pull-ID: b8895885003093f140e37ed4f5efc36a05f38852

Crowbar-Release: development