Fixes buggy shorter token generation

According to [RFC 6238](http://tools.ietf.org/html/rfc6238), OTP tokens shorter than 6 digits should be padded with `0` on the left in order to become 6 digits. As a demonstration, the following code will produce a 5 digit token `41267` in commit `5616a8d7d8db901582c4953f62b46e13a3d65588` while the token should really be `041267`:
```
>>> import pyotp
>>> print pyotp.HOTP('KEHY3WFC7IGYK6Z3').at(int(1413252660/30))
041267
```