Support PostgreSQL connections for source data

This allows for an OGR-compatible PostgreSQL connection string, such as
"PG:dbname=pdx_bldgs user=emma host=localhost" to be given in place of a
source file path.

It also adds a --sql option to query the data prior to export. This is
particularly useful for exporting a single table from a complex database,
via something like “SELECT * FROM buildings”

Closes #20
As near as I can tell, the result of the ExecuteSQL call always returns a layer object. If you don't specify a query, the else block will trigger and export every table in the database as its own layer.