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]
Merge pull request #953 from richardcloudsoft/chef-enhancements

Extra Chef features - set node name, and expose Chef attributes as Brooklyn sensors
HA policies: use ConfigKeys
Adds config for ServiceReplacer.SET_ON_FIRE_ON_FAILURE
Improve test coverage for ServiceReplacer/ServiceRestarter
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.
fix REST API access to child entities which implement Application (but aren't being used as Apps), and fix missing state created in gui
tone down logging for nodes excluded for geographical regionds (after first bit of info)
another JS fix, trying to get serviceUp==null not to mean serviceUp==false !
Merge pull request #959 from ahgittin/misc

minor tidies from the field
Fix EntityPollingTest jmx

- was hanging for long time when trying to use jmxMP to connect to rmi
SshFeed: add execAsCommand() option

Adds execAsCommand() and execAsScript() (default) to determine which SshTool method is used to run the command. Required for Windows compatibility, as the execScript function is incompatible with Windows.
Expose override of SSH host and port; use w/ knife

SshMachineLocation allows the hostname and port number for SSH access to be overridden, while still having the main MachineLocation address unchanged. This is useful for cases where the "address" is a private IP that is not reachable by the Brooklyn management console, but a firewall/port-forwarding configuration allows it to be SSH-accessible on an alternative hostname and port number. Adds a public method that retrieves the SSH host and port.

Alters the "knife converge" task to extract this alternative host-and-port and use it in the bootstrap operation (as knife delegates to ssh to do the actual work).