Do not query database for non-spatial tables

This PR avoids unnecessary SQL queries of `geometry_columns` for tables that do not have any spatial columns.

Fix #71

* Add a private SpatialColumnInfo class to manage the spatial column
info query and memoization.
* Add mocha to test expectations.
I removed them in the latest commit.