Execution

Just for feedback
Ran the following example on the cluster without any serialization problems, with both fixed and delimited splitters:

```
  case class ActualConfig(config: Config) {
    val maestro = MaestroConfig(config, "mysource", "mydomain", "mytable")

    val useFixed = maestro.args.boolean("fixed")
    val fixed = Splitter.fixed(List(4, 6, 4, 1, 1, 5))
    val delimited = Splitter.delimited("|")

    val upload = maestro.upload()
    val load = maestro.load(splitter = if (useFixed) fixed else delimited)
    val view = ViewConfig(Partition.byField(Fields.Cat), s"${maestro.hdfsRoot}/output")
  }

  def job: Execution[JobStatus] = for {
    conf <- Execution.getConfig.map(ActualConfig(_))
    uploadInfo <- upload(conf.upload)
    (pipe, loadInfo) <- load(conf.load, uploadInfo.files)
    count <- view(conf.view, pipe)
  } yield JobFinished
```