sparts.tasks.queue: New PriorityQueueTask, UniqueQueueTask

Initial versions.  UniqueQueue has some race conditions wrt reliable
deferred/future processing that need to be addressed in a better way.
UniqueQueue should raise `Duplicate` by default

A member variable `silent` has been added to control whether the Queue
should silently discard duplicates instead of raising.
assertEquals -> assertEqual

This fixes a deprecation warning in py34