WIP, but main extractor paths seem to work

This adds a possible macro for building JDBC type sources.

Right now just a size annotation, also might need an unsigned one.

Number of types available probably needs to increase. But it seems to build most of the info we would need for a source
Can this be `inner: Either[StringColumn, IntColumn]`? We don't want to allow `Option[Option[T]]` do we? Or do we?