HBASE-8693  DataType: provide extensible type API (Nick Dimiduck)

git-svn-id: https://svn.apache.org/repos/asf/hbase/trunk@1512929 13f79535-47bb-0310-9956-ffa450edef68