CCBC-480: Attempt to re-schedule orphaned items

This helps alleviate the 'catch-22' situation where lcb returns
immediately with LCB_NO_MATCHING_SERVER when the cluster is in a
degraded state.

This patch adds a new API to mcreq which allows a custom handler to be
invoked for situations where there is no real pipeline object to receive
the item. In this case the callback is invoked with the orphaned packet
and should schedule the packet elsewhere to be retried. This
functionality is implemented by adding an additional pipeline object
whose flush_start() handler dispatches to the actual fallback handler.

Using this API is the retry queue, which inserts the packet within the
retry queue of the lcb_t instance

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