Only log netstatus descriptor fields if they were parsed.

 * CHANGE bridgedb.Bridges.parseStatusFile() to only log networkstatus
   descriptor fields if the parsers were actually able to parse
   them. Otherwise we waste a lot of log lines with blank values.
Return True if we were able to prepopulate sub hashrings.

In bridgedb.Bridges.FilteredBridgeSplitter.prepopulateRings(), we return
False if we were unable to prepopulate bridges into the sub hashring for
whatever reason. In case some calling function wants to use the boolean
return value as a check, we should mirror this logic and return True if
prepopulation was successful.
Update docstring for bridgedb.Bridges.FilteredBridgeSplitter.prepopulateRings().
Cleanup logging of memory addresses in prepopulateRings().

The logging before was quite messy.

The sub hashrings are identified by the HMAC of a unique string. It
turns out that the "unique string" which is used in this case is
actually something which looks like the class.__repr__() for a
bridgedb.Bridges.BridgeHolder subclass. This is *probably* unique
because it contains memory addresses of the newly generated hmac_fn()s,
which are likely (though not necessarily) unique. This is a bit gross,
in my opinion, but it's not really a problem.

However, the log messages this function generated are a problem. They
contain memory addresses, which isn't the greatest idea, ignoring all
other reasons, simply because it's illegible.

 * REFACTOR logging statements in
   bridgedb.Bridges.FilteredBridgeSplitter.prepopulateRings() to remove
   logging of hmac_fn() memory addresses.
 * ADD a long comment detailing the "unique strings" which identify a
   sub hashring, and how they should probably be changed someday.
Add docstrings for HTTPServer.render() and getBridgeRequestAnswer().
Sphinxify and improve Dist.IPBasedDistributor.getBridgesForIP docstring.
Numerous whitespace fixes in bridgedb.Dist module.

These are all whitespace changes ― nothing else is touched.
PEP8 fixes for several lines in Dist.getNumBridgesPerAnswer().

Several `if` clauses are split to the next line, and an unneeded
line-continued backslash is removed from the parameters for a call to
the logger.
Several PEP8 fixes in Dist.IPBasedDistributor.

 * FIXES several PEP8 problems due to lines being too long.
 * FIXES one cute PEP8 problem; a semicolon which was placed after a
   `break` in a `for` loop, probably by someone whose fingers are used
   to coding in C.
 * FIXES one PEP8 problem due to continuation of an `if` clause on the
   same line.
Clarify log messages in IPBasedDistributor.getBridgesForIP().
PEP8; remove unnecessary `pass` statements in Exception classes.
PEP8 fixes in Dist.EmailBasedDistributor.

 * FIXES several lines which are too long.
 * FIXES a couple whitespace problems.
Clarify log messages in EmailBasedDistributor.getBridgesForEmail().
Add generic Dist.Distributor class for common functionality.

This class currently serves very little purpose because I am still
nervous about making major changes to the IPBasedDistributor and
EmailBasedDistributor classes. However, I did add functionality for
naming a Distributor's hashrings after the distributor's class, so that
which hashring a bridge is being added to is much clearer in the logs.

 * ADD bridgedb.Dist.Distributor class.
 * CHANGE IPBasedDistributor and EmailBasedDistributor to inherit from
   Distributor.
 * ADD functionality for naming hashrings after their distributor.
Add docstring for Bridges.PluggableTransport.getTransportLine().
Add class docstrings for bridgedb.Bridges.BridgeRing.