HBASE-6864 Online snapshots scaffolding [rs]

Distributed Snapshot RegionServer Infrastructure

Changed to make TIMESTAMP fail
Get rid of o.a.h.h.regionserver.snapshot.operation package.
Cleanup RegionServerSnapshotManager constructors
[rs] first cut cleanup of of region server side of online snapshot.
[online] Remove snapshot subprocedure
[rs] Nits in SnapshotSubprocedurePool

[rs] const renames.

HBASE-6864 Online Snapshots scaffolding [hm]

Timestamp Snapshots [master side]

Master side online table snapshot plumbing
  Wire in and test online snapshots
  Wire in Enabled TableSnapshots
  Remove TestSnapshotFromServer -- requires injection framework
  Re add procedure stuff to SnapshotManager
  FS protos

Remove cancel from EnabledTableSnapshotHandler

[master] Repackage Procedure
[online] renamed Procedure getErrorCheckable -> getErrorMonitor

[hm] rename Comms -> RPC
[hm] remove node name from ProcedureCoordinator
[hm] comms -> rpc

[hm] Spacing fixes in EnabledTableSnapshotHandler
[hm] remove manager from inherititing constructor of TakeSnapshotHandler
[hm] spacing nits
[hm] handle changed constroctur (remove dispatcher argument)
[hm] removed unused newOnlineTableSnapshotHandler

[hm] external -> foreign

[online] review fixes matteo's from offline refactor review
[hm] ted hbase-7208 part 3 review fixes.
Hooray, Snapshot manager initialization gets even cleaner!
[hm] Cleaned up a comment
remove server from imports of SnapshotManager

[hm] add warning about race and verifier.
replace Hbasefsck.debuglsr with logFSTree.

[online] change default to LOGROLL snapshot (arg!)
[online] moved .tableinfo copy to master
this final broke some mockito tests.
[online] add more error handling messages
HBASE-7321 Simple flush online snapshot

[flush] Add simple flush snapshot.
[flush] bump upto 3 node minicluster
HBASE-7291 Log roll snapshot [rs]

- Logrollsnapshot uses external->foreign

logroll move due ot o.a.h.h.ss.operation rm
Add LOGROLL style snapshots to protobuf
Adding log roll snapshot test.
[lr] Remove unused field in SnapshotSubprocedure.
- noticed that SnapshotSubprocedure not used by TimestampSnapshotSubprocedure.
[lr] Update to remove dependency on SnapshotSubprocedure
Parallelize the logrollsnapshotssubprocedure.
End-to-end test showing that log roll works (and it is online)
logroll fixes

Fixed test broken due to new default snapshot type.

[lr] grr.. bad comments in log roll.
[lr] move .tableinfo copy to master
[lr] log roll log rolling timing problem fixed, tets pass.
Tweak to force -- had truncated hlogs on clone/restore.
[lr] imports nits
[lr] add debugging to logroll tracker.
[lr] fix cleaners on logroll tests.
[lr] add debugging to logroll snapshot
HBASE-6866 Timestamp snapshots [regionserver side]

Timestamp Snapshot on the region
  RegionServer side manager and plumbing
  SS Desc utils nits.
  Flush region ts snapshot regionserver side.
  Online SnapshotSubprocedure
  Fixes for making rs side compile

[rs] Remove releaseBarrier subproc no-op
[rs] repackage procedure
[rs] rename externalErrorMonitor -> monitor
[ts] renamed externalErrorMonitor -> monitor

[rs] procedure is now clean.
[rs] nit fix for online exception handling.
[rs] change from localOperationException -> cancel.
[rs] changed constructor args of Subprocedure

[rs] fix spacing nits.
[rs] Comms->Rpcs
[rs] clean up procedure member
[rs] Fixed naming.

[rs] Folded CheckForSwappedStores into FlushRegionAtTimestampTask

[rs] External -> foreign

Pullout rs infrastructure

[ts] get rid of o.a.h.h.s.operation Move Timestamp flush snapshot
[ts] Rename TimestampSnapshotOperation -> TimestampSnapshotSubprocedure
[ts] minor foling of a method in TimestampSnapshotSubprocedure
Enabled TimestanpSnapshotSubproc in RegionServerSnapshotManager
hregion Nit fix.

[ts] comment they goofiness of tableinfo copy.
Merge branch 'snapshots-reorder' into snapshot-work-1213

Conflicts:
	hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/snapshot/RegionServerSnapshotManager.java