Generate some useful case class conversions with macros

This is in the vein of https://github.com/twitter/scalding/pull/1037. It seeks to reduce the boilerplate when working with case classes.

Note: I copied some of the code from that PR, because the idea that emerged there is that some of the really common code could go here, since bijection is a project with very few dependencies, and upon which many other projects depend.

I need to add tests.

Also, in the future this can be made a lot nicer with the fundep work in macro paradise... right now you can't sort of be in between with the type checker, so the caseClassToTuple isn't as nice as it could be
If that works, great. I guess the T is not erased since you have it in the tpe. Actually, how can that work? Won't it have to change the method signature to get the implicit bijection?

I'm happy with this working the same way all the way down. At least that is clear how it works.