Changes to make type flexibility in various DB engines easier.

I've made a pull request for the MySQL back end that makes the reason for this pull request more clear. I've added the ability for the storage back ends to define types, but I've done so in a way that differs a little bit from how it's working right now with Point.