Start work on primitive, caseclass restrictions

Still a WIP:

Needs a test or two.

But it works, it only passes on case classes whose fields are all primitives. 

Use case:

Scalding JDBC

Aiming for ultimate usage to be along the lines of

MysqlJdbcSource[MyType](connectionProps) extends TypedSink[MyType]

So auto generate how to do whatever column mappings needed from the type, so restrictions on its shape are probably a reasonable first stab.