Extract BrooklynLauncherRebindTest from BrooklynLauncherTest
Adds high availability management-plane support

- support for standby management-node(s), where one is automatically promoted
  to master when the current master fails or terminates
REST api: high-availability / management-plane queries
Merge branch 'feature/locations-as-availability-zones' of https://github.com/aledsage/brooklyn into review
Merge branch 'feature/managementNode-warmStandby' of https://github.com/aledsage/brooklyn into review
convenience utils for strings and enums
use fields in CLI for persist and HA; rename high-availability option to highAvailability; and set default HA to auto, reverting to default if persist is off
comments and code tidy from #1366
use explicit for-tests mgmt context in CliTest so it runs much faster
replace the redundant HighAvailabilityManager.StartMode with HighAvailabilityMode
add `isRunning()` to HAManager to distinguish between HA disabled-pseudo-master and HA active-master
changed references to Memento wrt management planes/nodes to SyncRecord; also merged the two different (but not necessarily so) NodeHealth items into a new ManagementNodeState, and some of the NodeStatus refs to NodeState
removed dead methods, and javadoc
incorporate @alasdairhodge comments
fix failing test where sometimes the wrong mgmt node was elected; add a test which does it 100 times;
also add support for retrieving the current mgmt node state live (though i'm no longer sure this is important, as noted in javadoc);
and minor tidies including class rename for BasicManagerSyncRecord -> BasicManagementNodeSyncRecord.
Merge pull request #1368 from ahgittin/more-high-availability

more high availability - applying fixes to #1362