Add support for destructive roles and debug mode.

This adds two related mechanisms:

* Roles can now have a destructive flag, which should be added to any
  role that will undo the effect of later noderoles if it is rerun.  The
  only user of this right now is the provisioner-os-install mode, which
  will reinstall the OS on the box if it is rerun.  BIOS and RAID roles
  will probably also need this mechanism.
* Support has been added for masking off parts of the noderole graph for
  a specific node.  This low-level mechanism (which should not be
  exposed to end users) is used to implement debug mode by constraining
  the annealer to only running nondestructive roles in Sledgehammer.

New features:

* The nodes controller grew methods for getting in to debug mode,
  getting out of debug mode, and rebooting a node via SSH.
Merge pull request #785 from VictorLowther/pull-req-master-711cb679ae93eb9648f168e599dceeeb06524c9a

https://github.com/crowbar/barclamp-crowbar/pull/785

Merged by devtool for VictorLowther