A fundamental cleanup of autoPtr, tmp and Xfer containers.
modified the autoPtr to more closely resemble the interface and behaviour of std::unique_ptr, but with some legacy behaviour still available: a copy constructor that acts like a move constructor, a copy assign that acts like a move assign, a implicit cast to the underlying data type.
modifying tmp to resemble std::shared_ptr is not easily possible or 100% desirable (we use it both for a shared_ptr behaviour and also to hold a const-ref of externally allocated fields etc).
removed use of Xfer entirely, since it is now possible to accomplish the same with movable copy/assign (with lower overhead) or an autoPtr.
See issue #639 (closed)