Added support for mysql / mariadb

This pull request adds support for mysql / mariadb.

Functionalities for MySQL:
- Single-thread loading / unloading for now
- Can run on a single-node mariadb, or a mysql cluster
- Only support tsv_extractor
- Support all current factors

Code structure
- For inference part, Move current datastore-dependent code outside SQLInferenceDatastore, to PostgresInferenceDatastore. Added MysqlInferenceDatastore to support mysql syntax by implementing unimplemented methods and overriding implemented methods in SQLInferenceDatastore.
- Do not have very good code organization for extractor part.

Examples
- Ported an example in spouse_example/tsv_extractor to mysql, in the same directory.

Tests
- Passed all existing tests (against psql), so that it should not break the psql code path.
- **Have NOT** added test to mysql-specific functionalities.

It turns out that if we keep the values, DeepDive will force users to set these environment variables, which should not happen.

Developers can set db.default.{dbname, host, port, user} to make deepdive work. The system should not be directly dependent on these env vars.

@zhangce Thoughts?