Revise bridgedb.Time.Schedule to use a zope.interface.

 * REMOVE old-style class bridgedb.Time.Schedule.
 * ADD zope.interface.Interface specification, bridgedb.Time.ISchedule.
 * ADD bridgedb.Time.ScheduleBase class that implements the ISchedule
   interface and does what the original bridgedb.Time.Schedule class was
   supposed to do.
Sphinxify docstrings in bridgedb.Time.
Rewrite bridgedb.Time module.
Move lib/bridgedb/Time.py → lib/bridgedb/schedule.py.
Add bridgedb.schedule module to Sphinx build configs.
Add unittests for bridgedb.schedule module.
Add a ScheduledInterval timeout to make GimpCaptcha stale.

 * FIXES #11215 which describes a problem where a successful challenge
   string and CAPTCHA solution pair can be replayed to the server, once
   per bridge hashring rotation period (every three hours) to get a new
   set of bridges without solving a CAPTCHA.

 * ADD a `GimpCaptcha.sched` attribute which holds a
   `bridgedb.schedule.ScheduledInterval` for determining which time
   period the CAPTCHA was created in, as well as for determining if
   we're still in the same time period during CAPTCHA solution
   verification.

 * ADD a padded timestamp to the encrypted bloc, ENC_BLOB, inside the
   format of the GimpCaptcha.challenge strings.

 * ADD a captcha.CaptchaExpired exception which is raised when we're
   checking a CAPTCHA solution that is no longer in the allowed time
   interval.
Rewrite test_createChallenge_decryptedAnswerMatches() unittest.

 * CHANGE GimpCaptchaTests.test_createChallenge_decryptedAnswerMatches()
   unittest to also check embedded timestamp.
Merge branch 'fix/11215-captcha-timeouts' into develop