Python 3 support

I've just merged `master` into @Puzzlet's python 3 port branch: https://github.com/puzzlet/tweepy/commit/f67e5746c1e5a24f4f4cda557dd73e084773ae7a.

This resolves issue #199.