CCBC-276: Provide lcb_destroy_async

This commit provides asynchronous destruction functionality. This allows
an application to signal to the library that a given lcb_t should be
destroyed during the next event loop iteration.

This allows asynchronous frameworks (like node.js and Twisted) to
properly handle resource/IO destruction in an orderly fashion, so that
they may detach and free user contexts only when all I/O resources are
no longer needed rather than preemptively when the library begins to be
destroyed. (Specifically, for IOCP and UV, those plugins actually loop
internally during destruction to properly release resources, but this is
not possible in 'async' mode).

- Also remove a leftover merge conflict marker
  We didn't catch this because this was #ifdef'd out for compilation

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