add support for specifying secondary indexes with to_sql
Support for creating secondary indexes in `to_sql` via the parameter `indexes`.

The code also tries to avoid creating duplicate indexes when `keys` is specified in `SQLTable`.
(Once the PR for passing the `keys` this would be useful)

This PR introduces a new method in `SQLTable` called `_is_column_indexed` so that subclasses can easily override or change the logic.

Interesting future work will be to also support creating compound indexes.
