reserve index name chars for internal rails operations

Some adapter (SQLite3) need to perform renaming operations to support
the rails DDL. These rename prefixes operate with prefixes. When an
index name already uses up the full space provieded by
`index_name_length` these internal operations will fail. This patch
introduces `allowed_index_name_length` which respects the amount of
characters used for internal operations. It will always be <=
`index_name_length` and every adapter can define how many characters
need to be reserved.
reserve less chars for internal sqlite3 operations
Merge pull request #8613 from senny/8264_character_limit_for_indices

deal with long index names and internal sqlite3 operations