Reset version for future development
Make SerializationTruncationError a subclass of SerializationError
Make Serializable.deserialize() fail if extra data is present
s/bitcoin/Bitcoin/
Change license to LGPL v3 or later

LGPL is compatible with any reasonable usage of the software. In
particular with security-related software users should demand access to
sourcecode for auditing.

Prior license for most code was MIT, which is compatible with LGPL. One
exception was bitcoin.rpc, which was LGPL v2 or later, so this relicense
brings us into 100% compliance with that code's license.
Ensure COutPoint subclasses can't lead to bad serialization

Previously the prevout instance's stream_serialize() method was called
by CTxOut.stream_serialize(), which could result in an invalid
serialization had the prevout instance been a modified subclass.

Consistent with out the VectorSerializer usage everywhere else ignores
the instance's serialization methods in favor of callee-defined methods.
Add __slots__ to Serializable base class

Previously all those __slots__ definitions were useless because the base
class added a dict to the instances.
Add __slots__ to mutable transaction classes
Create P2PKHBitcoinAddress and P2SHBitcoinAddress subclasses
Fix CScript.is_push_only() on pushdata w/ missing length fields

Previously was catching the wrong exception
Add CScript.has_canonical_pushes()
Accept non-canonical and bare-pubkey P2PKH scriptPubKeys
Merge commit '934a016fd4b80fc9fd085cc660979d03778cffd3'