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.
Yep, that's the whole point of the PR. :memo: :smiley_cat: