HA uses shared timestamp (last modified time), and negotiates concurrent starts, and handles former master recovery

resubmit of https://github.com/brooklyncentral/brooklyn/pull/1487, adding related code review comments from https://github.com/brooklyncentral/brooklyn/pull/1464, and solving multi-master situations
should have returned above if `demotingSelfInFavourOfOtherMaster`, but no harm checking again.