tests: skip LZ4 PreParser tests under SunOS

SunOS has variable support for LZ4 compression which results in
`Bus Error` crash during test run.
reliability: better protect Stores against SQL injection attack
simplify Postgres metadata storage

When storing and object with metadata, use `store.store_metadata()`.
Possibly costs a few extra SQL queries, but simplifies code for
reliability.
bugfix: postgresStore creationDate vs timeCreated

Also modifications. Keep internal storage name as timeCreated,
timeModified for compatibility with existing data, map from
creationDate/modificationDate at request time.
bugfix: postgresStore.store_metadata() typos

Mix of `key` and `id` all now `id_`
deal with PostGres lower-casing column names
parse stored timestamps back to datetime objects
normalize identifiers in `postgresStore`

Also PEP8 fixes
add base class for DB API 2.0 compliant SQLStore
style: PostgresStores uses psycopg2 (DB API 2.0)

Classes now inherit from `cheshire3.sql.sqlStore.SQLStore` which
uses the psycopg2 implementation of the DB API 2.0.

update requirements file for sql extras to now require psycopg2 in
place of PyGreSQL.
tests: add tests for Postgres Stores
reliability: PostgresStores now based on DB API 2.0

Merge branch 'feature/sql' into develop