Macro generated case class Tuple Setter and Converter

This is a first stab at using macros to begin generating useful code for our users.

Caveats:
* this only works on 2.10. I play around with it by doing: ```./sbt ++2.10.4 "scalding-macro/console"```
* this depends on macro paradise. I do this for quasiquotes, which GREATLY simplify the implementation... it isn't strictly necessary, but would greatly complicate things. quasiquotes are part of scala 2.11 so depending on macro paradise only for them seems ok to me.
* I need to add tests, though I've tested it along the way of course.

What are other things we might want to use macros for?
It occured to me that we are just using the index and not the field names at all, which may be present in the TupleEntry. I'm not sure what to do about this because I can see issues either way: 1) if there are fields in the TupleEntry, I guess we should use them. 2) But there definitely won't be fields in the nested tuples.

Should we check what the fields are for the TupleEntry and if they exist use them, otherwise fall back, or should we just always assume it is the order that matters and not the names. Ignoring the names seems like it could lead to hard to fix bugs.