Move database work from cv down into cv_lib

 - for adding/dropping cart column
 - for populating the cart column
 - for looking at nulls
 - for reseting failing paths
 - for adding/dropping ttypes column
 - for populating ttypes column
 - for creating tape_types table

Change-Id: I6eb3c06fa859486314e85f1460fe8bdfe4e62463
Finished making the databases symmetric

 - Moved more database access down into the _lib files
 - Replaced "dbtype='db2'" with "dbtype='hpss'"
 - Replaced missing dbtype with "dbtype='crawler'
 - Eliminated routine db2name
 - Made some field lists explicit (there may be others)

Change-Id: Icae95eb9722bdfce653e568c093319fe4e326fb2
Tests for crawl_lib.drop_table

Change-Id: If2f38dd281c6be679fd978855e818c03e2bab4e5
Improving database interface

 - ensure all tables have a primary key
 - avoid wildcard field lists
 - CrawlConfig: Classmethod constructor to init from a dict
 - CrawlConfig: When loading the config, squeeze out newlines so continued
   lines don't get messed up if rewritten
 - CrawlDBI: do fancy mysql error handling all in one place
 - dbschem: moving database defs and controls into one place
 - mpra: add --force, --cfg to reset command for ease of use and testing
 - test_CrawlDBI: simplified some exception tests with assertRaisesMsg()

Change-Id: I1bc61a169a1ff3394909b3eb0e25843a2d569b94