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