3.0 override column type

 Solves https://github.com/cakephp/cakephp/issues/3854

This introduces a more formalized way of setting some fields in the schema to any custom type.
We haven't been using this anywhere else. What would `@api` on a protected method mean?