Python 3 compatibility

I've added support for python 3. That includes changing module/class names (like cStringIO to io.ByteIO), changing print statements, fixing exception raising, and working out the bytes/str mess. It's backwards compatibile (except the new classnames obviously), and I've tested it against RMQ 3.0.4 on python 3.3 and python 2.7.2.

I normally use python 3, but I have to spawn a 2.7 subprocess to deal with pika. Please include 3.X support!