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.
the verb is conjugated based on the subject (`locations`) not the object (`location`).  ;)

however my ear agrees with yours so maybe the case could be made that `locations` here is a variable name, or maybe a collective noun, either which would justify the singular verb form?

i will change it for now.  if any grammarians out there feel strongly i will ultimately defer to you.