Support for CompositeIndex with custom Name

This is useful, for example, when the automatic index name is longer
than allowed.
Resolves Issue #250

Note: I'm not currently able to run the Oracle or Firebird tests, though I did test on SqlServer, MySql and Sqlite.