Add test_https.py from trygve.

 * FIXES part of #9874. See
   https://trac.torproject.org/projects/tor/attachment/ticket/9874/test_https.py
Add 'mechanize==0.2.5' to .test.requirements.txt.
Start BridgeDB in before_script section of .travis.yml.
Move several test dependencies from .travis.yml to .travis.requirements.txt.
Add --no-use-wheel when pip installing Travis CI dependencies.
Copy captchas/ into run/ during 'before_script' .travis.yml section.
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'.
Add file header to lib/bridgedb/test/test_https.py.
Sphinxify bridgedb.test.test_https module docstring.
Add test_smtp.py by trygve.

See https://trac.torproject.org/projects/tor/attachment/ticket/9874/test_smtp.py

 * FIXES part of #9874.
Add '127.0.0.1' to copied bridgedb.conf in .travis.yml.

This is necessary to run the tests in `lib/bridgedb/test/test_smtp.py`, and
shouldn't be set on production servers. It's done with a sed command in the
`.travis.yml` file to a copied bridgedb.conf so that it doesn't ever end up in
a production config file.
Bump leekspin version to 0.2.0.
Merge branch 'fix/9874-https' into fix/9874-email
Change EMAIL_SMTP_PORT to 2525 in copied bridgedb.conf for Travis.
Change obfs3 ipv6 integration test to vanilla ipv4; add scramblesuit test.

The ipv6 bridge has been changed to a vanilla ipv4 bridge. I've also added a
new test to check for a scramblesuit bridge. Both of these surprised me
because they had a different number of fields in each bridge line, but I've
adjusted the tests accordingly.
Whitespace fixes for bridgedb.test.test_https.
Merge branch 'fix/9874-https' into fix/9874-email
Whitespace fixes for bridgedb.test.test_smtp.
PEP8 style fixes for bridgedb.test.test_smtp.