Support MyISAM FULLTEXT and SPATIAL indexes

I had opened #8239, and @rafaelfranca pointed out that it was related to #6101.

I took that pull request as a base, and adjusted it to add support for different index types.

In order to cleanly separate the `type` and `using` parts, I changed the syntax of the API for the type to be `:using => 'btree'` instead of `:type => 'btree'`.

When combined with #8242, it Rails will be fully compatible with MyISAM specific indexing features, of `FULLTEXT` and `SPATIAL` indexes.

Please let me know if there are any changes you want me to make.  Thanks.