Compatibility with modern python

Hi Nathan,
Brought up to date with Python 3, while retaining compatibility with Py2k.

Used utils.py as a store for generalised functions that do the right thing for either version, but they're only written right now to satisfy the current needs of the project. Anything that expects deeper compatibility will probably require rewriting better wrappers.

Added a function to core OTP object to provide zero-padded string codes.

Tests pass for python3.3 and python2.7, but NOT python3.2; need some small work on the base64 bits to correctly encode strings to binary to pass 3.2.