Add "customtype" annotation for :Data

This allows overriding the type of a raw data blob ([]byte) to some derrived custom type.

For instance if you have serialized an ip address:
     ip @0 :Data $Go.customtype("net.IP");

This will ensure type consistency in the getter/setter functions, and also propagates down to json.Marshall() when writing JSON.