1124570 - Adds two-queue implementation for reserved resources

https://bugzilla.redhat.com/show_bug.cgi?id=1124570

This BZ implements this [design and TODO list](https://fedorahosted.org/pulp/wiki/TwoQueueReservedResourceDesign). Refer to that doc for more info on what is contained in this PR.
Upon further review the inner task needs queue=worker.queue_name, and the _release_resource needs queue=worker.name.

_release resource doesn't inherit from our Task object so it's a vanilla Celery task. We want it to be vanilla because our apply_async tracks tasks and these should happen transparently. Because of [celery issue 2216](https://github.com/celery/celery/issues/2216), we need our tasks dispatched with exchange='C.dq' and queue='<the worker name without the .dq at the end'.

Normally this translation is done in our apply_async handler for our base Task class, but since that won't ever run I use the worker name explicitly in the call to _release_resource()