Brooklyn node and cluster upgrade

Merges #266 (cluster upgrade) with work I've been doing on node upgrade.

Builds on #260 so please ensure that is merged first.

Needs further testing (by me at this point) but wanted to push it in case @neykov you have comments, especially on the last commit.
Relying on the command-line arguments to infer persistence state is not reliable, the cluster could be used with a brooklyn downstream project which sets a default persistence in its launcher.

On the other hand you are right that the spec might configure the instance so that the cluster members don't use the same storage for persistence. We need to check whether (at least one of the) new instances reports the master id in /v1/server/ha/states.