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.
No I think it is useful to indicate which protected methods are 'stable'. `@api` methods could be treated like public methods that are for internal class usage.