Added a hopefully-not-excessive number of tests covering all the unary, arithmetic, boolean, assignment, arithmetic assignment, and member access/special overloads I could come up with, in addition to an explicit conversion. Notably absent are overloaded operator new() and operator delete(), I only omitted these because they broke the tests without having `size_t` defined in the TU, and I wasn't sure if I'd be breaking any rules including the necessary system headers. With the patch installed and built against trunk, all tests (including those I added, of course) pass.