boost::shared_ptr support
boost::shared_ptr<T> is defined as #Nullable and uses the default implementation of ozo::is_null().
Function ozo::allocate_nullable() implementation is specialized via boost::allocate_shared().
The ozo::unwrap() function is implemented via the dereference operator.