Add typed version of RichPipe 'using'

Add typed version of RichPipe 'using'
this function is going to require the Specification to be serialized, and that class has a ton of stuff that can be serialized.

Instead do this:
```scala
class CleanUp {
  var called: Boolean = false
  def cleanUp(): Unit = { called = true; () }
}
// in the Specification:
class ... extends Specification {
  val cc = new CleanUp
  // pass this to the job.
  new Job(args, cc)
  // in the job, call cc.cleanUp
}
```
Now, use that