Support for descending key columns on indexes, unique constraints and primary keys

I have implemented a pull request PR#407 which adds support for descending key columns on indexes, unique constraints and primary keys. The change log functionality works as expected.

I started implementing the necessary snapshot logic, however I have observed that the Index#getColumns() are essentially being replaced with Table#getColumns() by DatabaseSnapshot#includeNestedObjects(DatabaseObject). The table columns don’t have the “descending” attribute set. Therefore, when the MissingIndexChangeGenerator runs, it won’t have access to the “descending” attribute and all the index key columns are treated as ascending.

I’d appreciate any feedback on the current changes and advice on how to make forward progress on the snapshot changes.

I’ll reply on the pull request.

Nathan