Split unittests in test_bridgedb.py; refactor to use already running server.

The unittests in `lib/bridgedb/test/test_bridgedb.py` now expect a
BridgeDB instance to have already been started *before* the tests
run. This change is necessary because it is non-trivial to have two
instances of BridgeDB running simultaneously (at least not without
changing every port in the config file) and the tests in
`lib/bridgedb/test/test_https.py` also require a running server. These
refactored tests should raise SkipTest if they believe that there is no
running BridgeDB instance to test against.

For Travis CI, the BridgeDB instance is started automatically in the
'before_script' section of `travis.yml` (in the top directory of this
repo).

 * FIXES part of #9874.
Also copy gnupghome/ to run/ in .travis.yml 'before_script'.