Add diagnostic unshareable buffer.

Signed-off-by: Matt Benjamin <matt@cohortfs.com>
Add unittests for clone_unshareable.

Checks three assertions:

1. a bufferlist shared with buffer::list::share yields shared
raw memory

2. a bufferlist copied with buffer::list::list(const list&) yields
shared raw memory

3. an unshareable bufferlist (bufferlist with unshareable segments)
copied with buffer::list::list(const list&) yields unshared raw
memory

Signed-off-by: Matt Benjamin <matt@cohortfs.com>