Adding Master coprocessor to handle region balance

The change adds a master observer coprocessor and overrides the
preMove() method to check if there is a transaction present on the
region, if so then we bypass the balance for that region and it will
not be moved until the balancer returns on a subsequent pass to move
the region.

Added a configuration change to enable the use of the new coprocessor:
NOTE: The <value> must be on the same line
  <property>
    <name>hbase.coprocessor.master.classes</name>
       <value>org.apache.hadoop.hbase.regionserver.
              transactional.TransactionalMasterObserver</value>
  </property>

And made necessary changes in TransactionalRegionServer and
TransactionalRegion to return whether the region can be moved

Change-Id: I95747f0d0bee2dc2aeebf84755bd35919a634295
Merge "Adding Master coprocessor to handle region balance"