Use foreign key constraint names in MySQL alter table

When using a MySQL adapter to alter a table to add a foreign key and
receiving a `foreign_key_constraint_name` option, use the value of that
option as the constraint name in the generated SQL.
Make Model#marshallable! work correctly when using the tactical_eager_loading plugin