Storm 166: Nimbus HA design doc and implementation.

I have deleted the bit torrent implementation from this pull request as the only available bit torrent library does not support tracker less torrents. In absence of tracker less torrents a single tracker becomes a single point of failure and a multi tracker implementation requires that if a tracker host fails the replacement host has same dns/network configuration. 

Some manual tests I executed:
* start 3 nimbuses, test simple word count topology works. try storm list/activate/deactivate/rebalance/kill from ui and CLI.
* set the replication factor to 2 run the first test again.
* bring up a new nimbus, ensure it catches up and competes for leader lock.
* with 3 nimbuses and 2 topologies, delete one topology code from each non leader nimbus. After killing master nimbus, ensure one of them eventually becomes leader.