Added discoverable capabilities.

Swift can now optionally be configured to allow requests to '/info',
providing information about the swift cluster.  Additionally a HMAC
signed requests to
'/info?swiftinfo_sig=<sign>&swiftinfo_expires=<expires>' can be
configured allowing privileged access to more sensitive information
not meant to be public.

DocImpact
Change-Id: I2379360fbfe3d9e9e8b25f1dc34517d199574495
Implements: blueprint capabilities
Closes-Bug: #1245694
Push cooperative sleep call down into ThreadPool

The PUT REST API has no idea how writes are performed, so when thread
pools are in use, the sleep is not necessary, though it is still
necessary when thread pools are not in use. Since the ThreadPool
object knows when threads are actually in use, it can take care of
being cooperative with the eventlet hub.

In addition, we can hide the cooperative iterator hook, given that the
only other consumer of this was the auditor, which does not need it
any longer.  The only consumer of the DiskFile class that wants the
cooperative behavior is the REST API layer of the object server, which
is also using thread pools.

Change-Id: Ibc4ac672899f9a35fd68c85d7f56403c19b4f991
Signed-off-by: Peter Portante <peter.portante@redhat.com>
Report path information in failure exceptions

When an error occurs during functional tests that use the
swift_test_client module, the reported error message includes the
method and path:

    ResponseError: 500: 'Internal Error' ('HEAD' \
    '/v1/AUTH_test/d5ce...')

Change-Id: I631cd9e83879fb644778d4ded62625483bf38045
Account for a platform difference in semaphores

On OS X (and probably other Operating Systems) it isn't possible to
introspect the value of a semaphore. Account for this by skipping a
test about this.

Change-Id: I97824f9fc4e36de4f7a62c8ce53865e6977dfdfe
Add a unit test to verify proxy logging fields

Also bring unit test coverage to 100% (well, at least every line is
reported as "covered").

Change-Id: I659d0c02008368897b1307a7a5c9aaba73b80588
Signed-off-by: Peter Portante <peter.portante@redhat.com>
Merge "Account for a platform difference in semaphores"
Merge "Added discoverable capabilities."
Merge "Report path information in failure exceptions"
Merge "Push cooperative sleep call down into ThreadPool"
Merge "Add a unit test to verify proxy logging fields"