Fix DummySigSigner misplaces dummy sig in P2SH scriptSigs
Add SendRequest.missingSigsMode

Instead of useDummySignatures flag there is now a MissingSigMode enum
allowing to specify what to do with missing signatures.

Available modes:
USE_OP_ZERO - do nothing. OP_0 will be left in place of missing
signature
USE_DUMMY_SIG - insert dummy signature in place of missing sig.
THROW - throw an exception. It would be either MissingSignatureException
for P2SH or MissingPrivateKeyException for other tx types

Default mode is USE_DUMMY_SIG (for backward compatibility)
Transaction.addSignedInput: catch API usage error.
Transaction.verify: make it throw VerificationException subclasses, and add a check for duplicated outpoints.

This check does not have any impact on existing apps as in full verification mode the UTXO set is already effectively performing this check, and general SPV wallets don't verify inputs meaningfully anyway (they could just be random). However it's useful for Lighthouse and can't hurt - a tx with a duplicated outpoint is always invalid.
Try a tweak to the unit tests to make Travis happy.
make DeterministicSeed constructors public
Support for recording a memo with transactions. It can be used to record the memo of the payment request that initiated the transaction. Use the new SendRequest.memo register.
Fix a buggy log message and make the comment clearer.