std::unique_ptr support
std::unique_ptr<T> is defined as #Nullable and uses the default implementation of ozo::is_null().
Function ozo::allocate_nullable() implementation is specialized via std::make_unique<T>() so, the allocator argument is ignored.
The ozo::unwrap() function is implemented via the dereference operator.