More things than should really be in a single commit.

• Use PKCS#7 padding.
• Change null flag to data flag (\x00: Null, \x01: Data).
• Leverage Django’s Postgres backend as opposed trying to reimplement
portions of it.
• Add some doc strings.
• Prevent HMAC signature timing attack.
• Performance improvements.