Split off hash.h from util.h
Fix hash.h dependency
Merge remote-tracking branch 'remotes/origin_project/master'
Generate only signatures with even S values

It's helpful against a minor malleability issue found by Sergio Lerner, check this thread for additional information

https://bitcointalk.org/index.php?topic=8392.msg1245898#msg1245898
Remove enforcecanonical option, it's always active from now.
Implement additional script verification flags
Move VerifySignature to main
Script verification fixes
Use nBestHeight instead of index height.
Replace VerifyScript with CScriptCheck

CScriptCheck is a closure representing a script check.
Multi-threaded signatures checking support, rename threads.
Turn the signature cache lock into a shared mutex
Fix segmentation fault during shutdown.
Use low S values instead of even values.
Use low S to break signatures malleability issue
Extended signature format checkings.
Add redeemScript to listunspent output and signrawtransaction input

signrawtransaction was unable to sign p2sh inputs when given a list of private keys to use.

https://bitcointalk.org/index.php?topic=143221.msg7811880#msg7811880
Fix coin control change field behavior.

Always check change address field value before creating new transaction.
Fix order comparison.
Merge support for watch-only addresses

Based on a patch by Eric Lombrozo.