Start work on scalding-lingual support.

Lingual has some nice features that would be nice to have for some small adhoc jobs and especially with the Scalding REPL.  These changes do not contain the repl code yet(coming in a future pull request) but attempt make lingual a bit easier to use with Scalding libraries and allow for scalding code to still be written and run with a Lingual job.

This code also does not support nested functions yet in queries like thrift.  Should be technically possible based on conversations with the Lingual team.


I realize this is in line with the dsl style approach of scalding originally, but I wouldn't mind seeing this be expressed in methods rather than implicit mutation of everything. The LingualJob is particularly mutation heavy... instead there could be

def tables: Seq[LingualTable[_]] (_, yuck)
def output: TypedSink

and so on

@johnynek , what do you think? I think we have been good about moving away from mutating the world and should move in that direction... I don't know how much the dsl approach here gives us, but I'm open to debate