Force data and wall to be saved and loaded as JSON, and provide helpers for getting all the data that a given node_role should have visibility to
Make the script_jig  a little more full-featured.

 * Add a runner that knows how to read and write attributes, and
 modify the script jig's run method to use that runner.
 * Teach the runner how to copy all the attributes applicable to the
 node role it is running to the node, and how to populate the node
 role's wall with any attributes that the scripts on the remote system
 returns.
 * Teach node role how build a hash of all attributes from all the
 deployment roles, node role attributes, and node role walls of all
 the roles, deployment roles, and node roles a given node role depends
 on.
Make role hooks for state transition run in exactly one place.
Add a convienence method for resetting all of the NodeRoles.
Merge pull request #635 from VictorLowther/pull-req-master-07cd2da2c693f3f87b4152996b7da62491f566ac

mighty fine!