Duplicate the given options from the migration instead of modifying in place.

This allows the same options to be used by different parts of the migration script, e.g.

```ruby
hash = { references: :users }
t.references :creator, foreign_key: hash
t.references :updater, foreign_key: hash
```

Which would be invalid otherwise.
Check that the hash given in :foreign_key is not modified.