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.

Refactor ExtractorRunner to move tsv_extractor and plpy_extractor execution to separate functions, to prevent one method to be too long