Add support for TINY/MEDIUM/LONGTEXT columns in MySQL

The column type is now selected based on the limit specified. This is done the Rails way. The limit must be specified in bytes. The limits are selected based on documentation here
http://dev.mysql.com/doc/refman/5.0/en/string-type-overview.html

If this is okay I can add support for TINYINT as well.
This is based on how Rails does it. The point is that the library takes care of optimizing the column type for you. So all you say is text and how big you need it. It defaults to regular text which works for most cases. You would only need to specify a size if you are looking for something specific. 

In my opinion adding ```tinytext``` would go against it because that will only work on MySQL. The numbers aren't just seemingly large random ones they would depend on what you need the column for. For tiny text the upper limit is 255.

I am still to hear from @robmorgan. If needed I can look into implementing special column types as well.