Significant bugwarrior refactor.

* IssueService subclasses return generators (rather than lists)
* Issue subclasses exist
  * Encapsulating full foreign records, and logic for transforming
    records into taskwarrior's format is deferred to those classes.
  * Transform into taskwarrior's format via a `to_taskwarrior` method.
  * Support dictionary operations and operators to minimize changes
    to related APIs.
  * Define UDAs specific to the underlying API.
  * Define a unique key referencing a combination of any taskwarrior
    record attributes (including UDAs) for deduplicating records and
    associating said records with the underlying API.
* Issue subclasses define UDAs used by the foreign API.
* Issue subclasses define a foreign API key used for relating this
  unique issue with
* Multiprocessing has been altered to receive new issues via a queue.
Testing and cleanup of bugwarrior refactor.
Adding tests.
Re-adding URL shortening via Bit.ly.