Add README text about building for Debian/Ubuntu.
Why am I explicitly linking against krb4?

It makes PyZephyr FTBFS on post-1.7 krb5.
Add a _zephyr.subAll function to handle subscription entirely in C

Reported-by: Arun A. Tharuvai <aatharuv@mit.edu>
Don't assume zephyr messages are UTF-8 on the wire

Older clients have a tendency to send latin-1 on the wire, and the
zephyr protocol itself does not require an explicit
encoding. Therefore, make encoding and decoding the responsibility of
the application using PyZephyr.

(PyZephyr will to continue to encode a unicode string to UTF-8 before
sending it if that is handed in)

Reported-by: Arun A. Tharuvai <aatharuv@mit.edu>
Fix subAll actually unsubscribing.
Add function to get the user's subscriptions.
Remove trailing whitespace.
setup.py: Use python from $PATH
Switch from Pyrex to Cython.

Cython is a fork that is better-maintained, and has better PyPy
support. PyZephyr is simple enough that the switch appears to require
no code changes.
Explicitly hold references to PyObject*s after conversion to char*.

If we are holding onto the char* version of a PyObject*, we need to
hold a reference to that PyObject itself. In CPython, the previous
code generally works because the ZNotice object would hold a reference
from __dict__. This assumption is not true in PyPy, and would also
break in weirder cases like someone subclassing ZNotice and replacing
'cls' with a property.

We can't just hold the objects in a Python list, because again, in
PyPy, that results in conversion to PyPy's internal format, which does
not hold onto the specific PyObject* generated by cpyext. So instead,
write some C code to maintain an object pool of objects to which we
need references.
Use a shorter default format

This may have practical advantages when the zephyr header is otherwise quite
long. It should have negligible functional impact, since current clients mostly
ignore the field (paying attention to it is a security risk). The particular
default format this uses is a link to a page that will explaining (for any
clients that *do* show it) why they're seeing it and why that's bad, and is the
same format used by barnowl and some other clients.
Merge pull request #1 from nelhage/pypy

PyPy support
Merge pull request #2 from dehnert/master

Use shorter default format
Fix memory leak on receive path.

receive() attempts to avoid memory management by using a local
variable "notice" as the storage area for the Zephyr notice object.
However, one still needs to call ZFreeNotice on the object at the end,
to free notice->z_packet.
Set the outgoing charset correctly
Expose the zgram charset to clients
Switch README from Pyrex to Cython

In 41015a2a6, Nelson converted setup.py from Pyrex to Cython. This updates the
README as well.
Merge pull request #5 from dehnert/finish-cython

Update README to talk about Cython
Merge pull request #4 from dehnert/charset

Improve charset support