Attempt to unmask timeout errors for retried commands

If an operation has timed out, attempt to reveal the real cause of the
error, and only afterwards return a timeout error if the operation truly
timed out without a previous cause. This is done by querying the retry
queue to see if the packet is of a special, "Retried" type.

Change-Id: I4511d7e0d95394bff7505b30cff00ce996401893
Reviewed-on: http://review.couchbase.org/39833
Reviewed-by: Brett Lawson <brett19@gmail.com>
Tested-by: Mark Nunberg <mnunberg@haskalah.org>