HBASE-7208 Transition Offline Snapshots to ExternalExceptions

DisabledTableSnapshot and Master refactors
  Updates to TestSnapshotManager
  SnapshotManager Updates for Offline Snapshot
  Base class for Master side Snapshot Request Handlers
  Fixes for TestSnapshotFromMaster
  Interfaces that IMO serve little purpose
  HBaseSnaphot Exceptions mods (do we need these?)
  Convert tasks to Runnables
  Snapshot Tasks
  Get rid of SnaphostExceptionSnare
  Refernce task and test
  Add touch to FSUtils
  Snapshot log utils (duplicate?)
  More Utils - snapshot reference, Take snapshot utils
  Touch in TestFSUtils
  Reference updates (duplicate?)
  new FS Filters and utils like touch.
  Fixes for breakup portion

Removing duplicated  code.
Remove old errorhandling framework
Removed Aborting (really this is just wrapping a boolean)
Merged Finish/Finishable with Stopped.
Removed Finish/Finishable.
Remove TestSnapshotUtils dupe
- Reference used to have content but now is just the file name.
Remove unused changes in Reference
Remove SnaphsotLogUtils (code is in TakeSnapshotUtils)
Remove touch since it is identical to fs.createNewFile
Remove Procedure coordinator references

Removed ExecutorService from consturctor list of SnapshotManager (part of MasterServices)
Back to getSnapshotManagerForTesting
Moved bulk of isSnapshotCompleted into SnapshotManager
Fixing nits
Renamed TableSnapshotHandler to TakeSnapshotHandler
Changed SnapshotTask to Callable<Void> from Runnable
Fixed TestSnapshotFromMaster archiver test
Cleanups of TableInfoCopyTask
Cleanup nits in exceptions
Minor nit fixes to TestsSnapshotFromMaster, TestSnapshotManager and TestCopyRecoveredEditsTask
Remove duplicate TestWALReferenceTask
Master side TS snapshot fixes from Matteo's review.
used SnapshotManager's isSnapshotCompleted method instead of having one in HMasteR
Move Snapshot FS code (into SnapshotManager).
- This really makes the exception handling story much simpler.
Move constant from SnapshotDescriptionUtil to SnapshotManager.

Cleanup refactor nits
Rely on Callable exception throwing in ReferenceServerWALsTask
Remove HBaseSnapshotException.getExceptionAsSnapshotException
Cleanup ExternalExcpetion refactor

Comments and nits to TakeSnapshotHandler refactor
Removed Stoppable interface from SnapshotSentinel.
Remove cancel from DisabledTableSnapshotHandler
Rename snapshot in TakeSnapshotHandler to snapshotRegions
Moved completeSnapshot from SnapshotManager to TakeSnapshotHandler
Removed test that broke because of completeSnapshot move. (was a new test anyway)
Merged stop and with cancel and added Throwable argument.

Fix Spacing nits
Cleaned up TODOs in TakeSnapshotHandler
Re-added restore handler cleanup
HBASE-7212 Globally Barriered Procedure Mechanism

Removing Barrier proto - Procudure.
Fixed race condition in TestZKProcedure
Updates to procedure to take advantage of better method names.
Tighten up ProcedureMember's use of ExternalException
Update Procedure to not use ExternalExceptionMessage and to use updated ExternalException

Renamed ProcedureBuilder to ProcedureFactory Fixed spacing nits in Procedure code.
Cleanup for procedurebuilder->factory change.
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
HBASE-6866 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