More robust handling of spatialite extensions

Updating qGIS seems to have broken spatialite as used by rockfish2. This
highlighted the need for a more bombproof way of handling the spatialite
extensions. This commit changes rockfish2.database.database to use, in
order of preference: pysqlite2, pyspatialite, and sqlite3.  pysqlite2
or pyspatialite are needed for spatial tools, but tools should function
without spatialite extensions if only sqlite3 is available.