Enable running tests with sqlite

Postgres can (and should) still be used by setting TEST_WITH_POSTGRES env var to
true.  The reason for this is that tests cannot be run with postgres during
build.  Some sqlite incompatible tests will probably need to be disabled, but
it's better than nothing.
Log SQL statements during test runs
Set boolean columns' defaults to false

Python doesn't care, but SQLite doesn't like null booleans.
Factor out SRPM management into separate class
Create testing working directory for test runs
Tests for srpm_cache
Namespace loggers
Route logs to file during tests
Skip tests that require postgres on sqlite
Run tests during build
Move DB parts of AbstractTest to separate class DBTest
New class for managing repos
Test for RepoCache
Capture rpm stderr in srpm_cache
Add arch attribute to get_repo