Python 3 support

Adding python 3.3 support to waffle.

This PR continues our efforts after #96.
I've rebased necessary changes on top of py3k branch.

I've removed `smart_bytes` on after code review.