CBD-910 Allow disassociating db handle from fd

This enables a Db handle to act as a weak reference to a snapshot that
can be held without holding a file descriptor.

The handle cannot be used for I/O until it is reattached to the same
file (or at least the same behind the position the handle was at) it was
detached from.

Change-Id: I5761795c993aa59b9e453665818a5103ea3eafa0
Reviewed-on: http://review.couchbase.org/27015
Reviewed-by: Volker Mische <volker.mische@gmail.com>
Reviewed-by: Fulu Li <fulu@couchbase.com>
Tested-by: Aaron Miller <apage43@ninjawhale.com>