ACCUMULO-1965 Fix exception handling for namespaces

  Make the exception handling propagate correctly to the client.
  Vastly expanded on existing namespace tests to include checks for
  throwing the correct exceptions. Consolidated a lot of the fate
  operations code and refactored the master (slightly; moved inner
  classes to separate files) to be easier to modify the relevant RPC
  handling code.

  Fixed many API bugs related to throwing correct exceptions, found from
  the new tests added to NamespacesIT.