Converted the old PyObject_INIT_HEAD calls to PyVarObject_HEAD_INIT.
Changed old "staticforward" marcros to real "static" keywords.
Updated module-creation code to the modern Python 3 technique.
Added "ob_base" before each instance of "ob_type".
Changed from using old-fashioned PyInts to using new-fashioned PyLongs.
Backed out two ob_base interpolations that were not necessary after all.
Altered all string-generating code to create PyUnicode objects instead.
Made two low-hanging string-to-unicode adjustments.
Removed the need for one of the old PyString_AsString calls.
Attempted to write a function that will satisfy the remaining needs for
PyString_AsString calls.
Fixed spelling of the _libastro init function.
Bugfix that has nothing to do with Python 3.0: wrong unittest call.
Made syntactic changes necessary to get all tests running.  Well, kind
of; I'm not really convinced that the "rst" tests are actually doing
anything, but at least each test module now succeeds without a syntax
error.
Adjusted two test suites so that they run correctly from the command line
(before, I had always just run them using the setuptools setup.py "test"
command; but that doesn't seem to yet be available under Python 3.0).
Put parentheses around all of the print statements in the documentation.
Further minor bugfixes to docs and Unicode string handling.
Bugfix: had to move the "neg" and "pos" routines since PyNumberMethods
now has the slots in different places than before.
Fixed two problems: first, that the readtle function was not properly
checking whether its attempt to change its Unicode string argument to
ASCII was successful (it chose to core dump on failure instead); and,
second, that obvious ASCII whitespace characters were being rejected as
appropriate candidates for conversion.
Gave Unicode-to-ASCII routine a more elegant response if malloc() fails.
Created a test suite for whether we are locale dependent.