Added tests, python2/3 compatibility (through six module).
Remove M2Crypto and add python-ecdsa instead, which provides a much better API for ECDSA operations (albeit slower, as it's pure Python). Eventually OpenSSL support will be added with an API similar to python-ecdsa's.
Formatting fix.
Switch to import-all, since we need to make sure that the API endpoints are are using are in fact caught by a wildcard import.
Add HashCheckedData and VersionedPayload, which are used as the basis for BitcoinAddress and Secret classes.
Use the utils module version of StringIO, which itself uses the optimized cStringIO package if available.
Update Freicoin and Bitcoin-Testnet chain parameters, and add Freicoin-Testnet.
Clean up unit tests.
Add check of P2SH address base58 encoding.
Add tests of hash160 and hash256.
Add client version and serialization constants.
Add special handling to make sure that invalid serializations of versioned payloads are not parsed, and regression tests.
Change error report to have hex checksums, for easier debugging.
Add destinations (PubKey, PubKeyHash, ScriptHash), and the first stab at ECDSA support, which is required for the PubKey destination.
Add amount compression, which is a necessary part of the UTXO ultraprune compression format.
Rewrite serialize_beint to have the length be an optional parameter, where the shortest byte string is returned if the length is not specified.
Fix typo.
Rewrite ScriptOp to be a binary type, decreasing the number of serialization/deserialization operations.
Export big endian serialization routines.
Add script compression, an essential component of ultraprune's compressed UTXO set.