support for db-specific options to add_foreign_key

`:sql_options` can be used to pass along arbitrary clauses to the generated
`ADD FOREIGN KEY` statement, e.g. `"DEFERRABLE INITIALLY DEFERRED"`

also include logic to infer `:sql_options` for postgres when dumping so that
schema.rb is accurate. no such logic is needed for mysql, as it doesn't
support any options beyond what's already on master.