Updated CHANGES, bump to 0.6.0
Add `map()` and `submit()` to QueueTask

This adds two new helper methods for interfacing with QueueTask,
`map()`, and `submit()`.

`submit()` inserts a piece of work into the QueueTask's queue, and
returns a future that will either return a result or raise when
the task's execute() function successfully completes (or fails) the work.

`map()` takes an array of work/items, and an optional `timeout`, and
returns the `result`s for all the futures generated by submitting them
as work.  The `timeout` is applied to the delay for each individual
piece of work.

Fixes #45
Fix bug in intitialization when daemonize is not installed

Unittesting didn't catch this because it runs with all optional
dependencies installed.

Also, version bump to 0.6.1
Allow ExecuteContexts to be compared
Use __future__/absolute imports in some common sparts modules
sparts.collections: PriorityQueue implementation

This diff introduces a new module, sparts.collections.  Its first member
is PriorityQueue, a queue.Queue subclass that maintains items in sorted
order, using the builtin heapq module
sparts.collections.UniqueQueue

Add a UniqueQueue subclass of Queue for keeping track of lots of things
and silently discards duplicates.
UniqueQueue should track discards

A basic counter for tracking purposes
sparts.tests: all warnings raised during unittests should fatal
sparts.thrift.client: Use non-deprecated API for THTTPClient
Render ipv6 `host` values correctly for THttpClient

Update the getConnectURI method for the thrift client to properly render
host values that are v6 addresses.

Updated the fb303 unittest to catch this and verify the fix.
Prefer HAS_THRIFT from sparts.deps
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
vservice:  Capture warnings via logging by default
sparts.daemon: Allow daemonize() to handle extra kwargs

Pass extra kwargs to the underlying Daemonize() constructor.
setup.py: Use a NAME constant instead of hardcoded "sparts"
setup.py: Updated to most recent LICENSE

Even though we updated the LICENSE, headers, etc, several version ago, the
setup.py still lists sparts as ISCL instead of BSD+.  Fix.
UniqueQueue: add an `explicit_unsee` attribute.

In addition to the `silent` mode, add an `explicit_unsee` mode to UniqueQueue.

By default, `explicit_unsee` is False, and tems are unseen as soon as
they are popped from the queue.

The problem is that for certain applications, we want to keep the item
as seen until `task_done()` is called.  Since task_done doesn't take an
argument, we add a new function, `unsee(item)` to facilitate this
behavior.

Unittests updated to verify behavior.