can you change this to:
```scala
def timeout[T](timeout:Long = 10, unit: TimeUnit = TimeUnit.SECONDS)(t : => T): Option[T]
```
So, you can do: `timeout(2) { /* some stuff here */ }`

Next, we need to see a test with runHadoop to be sure that this serializes properly and everything works fine (and so we can check for regressions).

Also, this could be merged with: 
http://docs.cascading.org/cascading/2.0/javadoc/cascading/flow/FlowProcess.html#keepAlive()

So the cascading won't timeout during this period.  So, this could have the dual use of allowing really long timeouts.

The issue is that it couldn't just be a function in Job then, or rather, we have to figure out some way to plumb through the flowProcess.  By the way, we need to figure out a clean way to do that if we want to give access to counters.

In any case, I'd merge this with the minor syntax change, hadoop test and a TODO marking that we should handle long running tasks with this.