Add node name option to Chef knife converge tasks

Allows the optional "node name" parameter to be passed to the knife converge command. This give entities control over the name, so that the node's details can be retrieved from Chef server later if required.
Add feed to publish Chef attributes to sensors

Adds ChefAttributeFeed class
ChefAttributeFeed builder + sensor naming

Switch to use a Builder for ChefAttributeFeed - allows polling period to be user defined, and also now supports adding sensors with arbitrary names.
ChefAttributeFeed - respond to review comments

See pull request 953 [https://github.com/brooklyncentral/brooklyn/pull/953]
AbstractController: handle entity hostname/port change
Expose AbstractController.HOSTNAME_SENSOR

- instead of hard-coding Attributes.HOSTNAME, make it configurable
Merge pull request #954 from aledsage/fix/AbstractController-memberChange

Fix: AbstractController on member change
Merge pull request #953 from richardcloudsoft/chef-enhancements

Extra Chef features - set node name, and expose Chef attributes as Brooklyn sensors
JcloudsLocation: support unsetting config

- if set null loginUser, loginUserPassword, etc then don't pass it
  through to jclouds (i.e. don't NPE)
Merge pull request #955 from aledsage/fix/JcloudsLocation-unsetting-config

JcloudsLocation: support unsetting config
Updated Getting Started:
* Word wrap - easier to view on GitHub
* Corrected problem where Brooklyn versions were not being shown (site.brooklyn-version)
* Clarified SSH needs and instructions
* Changed BROOKLYN_HOME to BROOKLYN_DIR. Two 'homes' (User, Brooklyn) had caused confussion.
Added note that ~/.brooklyn != BROOKLYN_DIR
Merge pull request #956 from jdtoy/getting-started-ssh-clarification

Docs: Getting Started tweaks.