Fix memory corruption introduced with boolean support

The Py_True and Py_False values have to be treated like all other
objects WRT refcounting. Not doing that can lead to memory corruptions
that are very hard to reproduce. Use the Py_RETURN_TRUE and
Py_RETURN_FALSE macros that just do the right thing.