Track noderole -> noderole attribute dependencies.

This lays the groundwork for triggering annealing when an attirbute has
changed while not mandating reruns of large numbers of noderoles to do so.
Add propose and commit to deployment_roles.

They were missing proposed and committed, making it trickier
to batch up changes and commit them all at once like we can do with
noderoles.
Add logic to noderoles that triggers runs when a dependent attribute changes
Fix failing BDD tests for deployment_role changes.
Merge pull request #279 from VictorLowther/add-attrib-tracking

Add attrib tracking