P2sh support

Pay-to-script-hash addresses represent some of the better security options for bitcoin addresses.  With bitcoin core talking about extending the features allowed in the hashed script, these addresses will become increasingly powerful.

From the protocol's perspective these addresses may as well be opaque addresses like pubkey-hashes.  Currently, this would afford users of the protocol the ability to create M-of-N multisig addresses to hold MASTER protocol tokens.

The one caveat is that our Class B transactions use 1-of-N outputs to redeem the bitcoin spent in the service of the protocol (Note: multisig outputs are distinct from p2sh addresses which utilize multisig).  OP_CHECKMULTISIG only accepts public key addresses.  We are currently bridging support for pubkey-hash addresses IFF the address is in our local wallet.  This PR proposes to allow the constructor/sender of the transaction to designate a public key address to redeem outputs with so that in the case of an address flavor that isn't compatible with multisig outputs the bitcoin are not lost. 

this is paired with a PR in mastercoin-MSC/mastercore#102