allow custom type

use case:
 
```erlang
-module(toto, [
               Id     ::pk(),
               Phone  ::phone(),
               Caviar ::string()
               Status ::picklist()
             ]).
 
```
would like to extend type, from the source code i see: 
  string, binary, uuid, date, datetime, integer, float, boolean, timestamp, atom

i guess this small change will not affect existing code, 
perhaps some test case.