Generalized way of saving teuthology suite data to a MySQL database.
Currently, this implements a table for saving tethology suite results,
and a table for saving rados benchmark testing results.

Fixes: 4990
Signed-off-by: Warren Usui <warren.usui@inktank.com>
Removed db_classes.  Took the methods implemented there and made them
functions in results_db.py.  Replaced class references with lists of
tuples.  Fixed docstrings and changed fields to be more Sphinx compliant.
Implemented suggestions made in the previous review.
Changed function name from _config_db to  _connect_db
Make sure we to check that a table exists before trying to access it.  This fixes
a problem which occurs when a table is not available.
Fix parsing of update-db parameters.  Export TEUTH_DB_YAML in schedule_suite.sh
Use LOG_DIR for /a/ references.  Add unit_test stub.
Add unit_test (need to change this)
move db update code and add debugs
Added soem unit test code.  Added debugs.  In case anyone is wondering,
this stuff is being written to origin so that I can get it to teuthology.front
to test.
More debug changees
More changes (remove db call in suites)
Cleanup.  Added passwd directly (for now)
Add delete database entry capability for unit testing.
Implement TestDirectStore class in test_results_db.py.
Fix def test_storeDirect
Assert comparison fixed
Fix test cases for mysql updates
Added process_suite_data to handle open files as parameters.  Still need
to modify test_results_db.py
Clean up results_db.py by removing unused code.
Fixed results_db.py to hande StringIO input.
Changed test_results_db.py to not write files and instead pass StringIO data.
Added update_file to results_db.py as the entry point for suite.py
Add tests to test_results_db for both rados_bench and suite_results.
Fix messages and StringIO usage.