This implementation of StrongPtr's OwnershipPolicy uses a doubly-linked cycle of copointers to a shared object. Some functions are trivial enough to be inline, while others are implemented in elsewhere. It is not thread safe, and is intended for single-threaded environments.