Move away from using _PyObject_New for allocation

For some reason, Python 3 was hitting a segmentation fault during
shutdown and cleanup when Body.copy() used this old object-creation
technique that had always seemed to work under Python 2.  I learned
about this alternative of calling tp_alloc() from an old mailing list
entry, of someone who actually returned to the mailing list (!) to share
the solution they had found to their problem:

https://mail.python.org/pipermail/capi-sig/2008-June/000124.html

Closes #44