pre-release execution functionality in separate api

Apologies for the monster pull request.

This contains execution functionality in a separate `maestro.api.exec` module. This is not yet intended to be used by users, and we may make backwards incompatible changes at any time.

Known issues in this early version of the execution work:
  1. The `viewHive` zip bug
  2. Missing documentation
  3. Missing stats for the query executions
  4. Missing sqoop execution trait
  5. Use of dummy configurations for upload instead of taking the configuration for the execution
  6. Methods in the Miscellaneous module free to a good home
  7. `ViewExecutionSpec` using a custom matcher that should exist in thermometer
  8. The framework around running the execution is not done yet
  9. The framework around configuring executions, if that is what we want, is not done yet
To elaborate, when you merge the lines, scala (or scalaz?) wants to see a `MonadPlus` instance of Hdfs, because it thinks that as you're pattern matching, you might fail, and it doesn't realize that the pattern match is never going to fail.

For some reason, when you do it on the "non-monadic" line (for lack of a better description), scala (or scalaz?) doesn't complain

I don't understand the underlying mechanisms here. Obviously scalaz is involved somehow, as the compiler talks about missing the `MonadPlus` type class if you merge the lines. But I'm not sure by what mechanism that occurs, and how the mechanism changes if you do the pattern match on a "non-monadic" line.