Silence useless warning in src/json/json_spirit_writer_template.h to make important warnings easier to see.

warning: typedef ‘Char_type’ locally defined but not used [-Wunused-local-typedefs]
Remove enforcecanonical option, it's always active from now.

Conflicts:
	src/init.cpp
	src/main.cpp
Add redeemScript to listunspent output and signrawtransaction input

signrawtransaction was unable to sign pay-to-script-hash inputs
when given the list of private keys to use. With this commit
you can provide the p2sh redemption script in the list of
inputs.

Conflicts:
	src/rpcrawtransaction.cpp
	src/test/rpc_tests.cpp
Signrawtransaction shouldn't require redeemScript for non-p2sh txins.

The redeemScript functionality broke plain offline signing, this
change makes it only look for that parameter when signing a p2sh
input.
refactor locking of CTxMemPool::addUnchecked()
Moved SyncWithWallets out of ProcessMessage and into CTxMemPool::accept() so that when adding multiple wallets they will be aware of each other's transactions.

Conflicts:
	src/main.cpp
Remove dead transaction replacement code

This dead code can be resurrected from git history if
transaction replacement is ever implemented. Keeping
dead code in the source is a bad idea, because it implies
it was tested and worked at some point, which is not true.

Conflicts:
	src/main.cpp
remove CTransaction::IsNewerThan which is never used