Remove duplicate field type changes, add support for custom index names

Hi David, this changeset removes the duplicate field type checks that are already handled by comparing the field options below.  It also adds support for custom index names which have never been supported properly.  I've tested this with a Rails 4 app and it seems to work properly.  I have not tried backporting to Rails 3.2.

Thanks,
Nate