Merge pull request #263 from reenhanced/master

Supports table_name prefix/suffix for add_foreign_key
Truncates the schema_migrations index

Problem
--------
Assuming the following:
```ruby
ActiveRecord::Base.table_name_prefix = 'toolong_'
```

When `db:migrate` is run, the index assigned by `ActiveRecord` is too
long.
```
-- initialize_schema_migrations_table()
rake aborted!
Index name 'toolong_unique_schema_migrations' on table
'toolong_schema_migrations' is too long; the limit is 30 characters
```

This issue is present in rails/rails on branches `2-3-stable` through
`3-2-stable`. In the latest `master`, the code has changed, but the
issue still exists and should be resolved by this code.

Here's where it is implemented in `3-2-stable`:
https://github.com/rails/rails/blob/3-2-stable/activerecord/lib/active_record/connection_adapters/abstract/schema_statements.rb#L429

Solution
---------
The fix for this is to provide a method that supports a shorter index
name when the schema_migrations table is initialized.