Template columns

1. Templatized columns. See readme.
2. Adding m2m tables to schema helper. This is really hard to get test coverage on...