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
Medium term, I'd like to review code for all our entities to ensure that on unmanage they really do stop all their work (and don't have their own thread kicking around or whatever). Also would need to think about what happens to effectors currently executing.

But this is good enough for now.