[sqltypes] Add support to serialize and deserialize them

Also got rid of half complete MarshalJSON implementation.
using iota for serialization might be a bit sketchy versus using real values starting from 0 (and potentialyl spelling it out for every single one of them)

right now if someone were to go and change ordering of NumericType and FractionalType or even added a new element in the middle of the list, potentially serialized data will become corrupt