Add support for FULLTEXT and SPATIAL indexes using the :type flag for MySQL

This is a rebase of #8430.

The bulk of the changes as a result of #9891 no longer are needed to support the using index flag, except for dumping the `using` in the schema, which I had in my last pull request so I left it in.  

This pull request is a pure rebase of #8430, if you want me to break this up so dumping the `using` in the schema is a separate pull request, I can do that, just let me know.