Refactoring node properties so that they are proper fields
instead of arbitrary keys in some json object. This means we can
actually look at the class and tell what is sent to provisioners
as a task. Also taking the task config out of the cluster task
since it is already basically recreated every time a task is
placed onto the queue.
adding copyright, javadocs, and to string methods.
Make sure to pull out the ip address from the provisioner results
so that macros work. Also enhancing mock worker to supply a random
ip address if it takes a confirm task.
Use a builder to make node properties so its clear what field
is what and easier to create properties without all the fields.
use a constant instead of hardcoded string.
replace direct json manipulation in tests with object usage.
some cleanup. Removing an old constructor and adding some null
field protection.
Merge pull request #345 from continuuity/feature/node-refactor

Feature/node refactor