Add support for multiple indexes on a table

Reworked #157 to add support for multiple indexes on a single table.

This update still supports the @Column.index attribute as before. It simply adds a new optional "indexGroups" attribute to the @Column annotation that takes a String array. If the indexGroups attribute is specified, all columns on a given table that have the same value in the indexGroups attribute will be added to a new named index where the name of the index is derived from the specified group.