Support Column.indexGroups

#110 
#140 
```java
        /*
         * If set index = true, we will create a index with single column.
         *
         * Example:
         *
         * @Table(name = "table_name")
         * public class Table extends Model {
         *     @Column(name = "member", index = true)
         *     public String member;
         * }
         *
         * Execute CREATE INDEX index_table_name_member on table_name(member)
         */
        public boolean index() default false;

        /*
         * If set indexGroup = "group_name", we will create a index with group.
         *
         * Example:
         *
         * @Table(name = "table_name")
         * public class Table extends Model {
         *     @Column(name = "member1", indexGroup = {"group1"})
         *     public String member1;
         *
         *     @Column(name = "member2", indexGroup = {"group1", "group2"})
         *     public String member2;
         *
         *     @Column(name = "member3", indexGroup = {"group2"})
         *     public String member3;
         * }
         *
         * Execute CREATE INDEX index_table_name_group1 on table_name(member1, member2)
         * Execute CREATE INDEX index_table_name_group2 on table_name(member2, member3)
         */
        public String[] indexGroups() default {};

```