Join column index names

@Ocramius recommended I open this up to discuss the issue I am seeing.

I am trying to explicitly name the index on a column which is used in a join.  I've attempted to add two functional tests in this PR to demonstrate what I am seeing. Please forgive me if these tests are not correctly, this is the first time I've attempted to submit a PR like this.

There are two situations I am encountering...

First, I explicitly name the index in the ```@Table``` annotation on the column used in the join - but the SQL generated from ```SchemaTool``` appears to be a random hash.

Second, when I have an existing database table with an existing index and it's named properly (in this example, idx_maker_id) and then I run ```SchemaTool->updateSchema()``` it drops the index with the proper name and creates a new randomly hashed name.

Is there a different way of accomplishing what I am trying to do here, or is this a bug?

Thanks for your help and assistance!
Not sure if I understand the naming problem but the only factor for possible different auto-generated index names should be the max identifier length of the underlying platform. Otherwise the index names should always be generated the same for a table name and the column names of the index.
@Ocramius is right and the schema tool will currently indeed first create indexes for all associations before actually creating those manually defined. See [here](https://github.com/doctrine/doctrine2/blob/master/lib/Doctrine/ORM/Tools/SchemaTool.php#L265-L279). Theoretically the creation of manually defined indexes would have to be moved at the top so that those index definitions will win over the auto-generated ones from the association mappings. But I am not sure if this change would break other things...