BrooklynNode cluster + upgrade effector

Also effectors to:
  * select master in the cluster
  * set HA priority
  * set HA state
add an upgrade effector for the BrooklynNode, and a sample yaml, and improve lifecycle so that stop_* methods destroy the VM and set a STOPPING state
clean up of anonymous internal classes, and some minor extensions to predicates available on Entity and String
minor cleanups to software, allowing start with no locations, and including stdin for driver.execute commands
WIP brooklyn HA and upgrade
fix bug where tasks (eg pollers) are not stopped on unmanagement if the task which started the tasks is the same one which is unmanaging the entity
add support for extra CLI parameters to BrooklynNode, use those to run in persistence mode, and final fixes to the in-place upgrade effector
bunch of clean ups - mainly addressing @aledsage's comments on @neykov's cluster upgrade PR, plus misc things i've noticed.
needs further testing though.
fix swallowed error in dynamic cluster
WIP smoothing out the experience when setting up the cluster
TODO:
* cluster should take extra config, and then set them as config after we've failed over
* better names of phases
more QuorumCheck to util package, using it for new CollectionFunctionals defining a predicate which applies a predicate to a collection
broolyn cluster upgrade should take extra config, and then set them as config after we've failed over, and has nice names of phases, plus refactor/tidy
remove renderer hint for MASTER_NODE -- it is not needed as type Entity gets this automatically, plus it was broken (it needs a special post processing);
and add an enricher to publish at the cluster the url for that node
rename HAMode to HighAvailabilityMode, and same for priority
(this brings us in line with convention on treatment of abbrs being camel case,
preferring HttpRestApi over HTTPRESTAPI, but without the weirdness of HaMode; easy enough to be explicit on this API, imho)
increase the brooklyn node poll frequency to every 2s, to prevent saturating it with monitoring, and other minor tunings to BrooklynNode
add apache header to new java to kill the RAT problem
have deprecated predicates methods point to new classes, use a private unused to preserve the anonymous inner (code review)
fix merge conflicts