Get rid of the static chainMostWork (optimization)
Allow ActivateBestChain to release its lock on cs_main
Move all post-chaintip-change notifications to ActivateBestChain
Push cs_mains down in ProcessBlock
Merge pull request #4148

18e7216 Push cs_mains down in ProcessBlock (Pieter Wuille)
202e019 Move all post-chaintip-change notifications to ActivateBestChain (Pieter Wuille)
4e0eed8 Allow ActivateBestChain to release its lock on cs_main (Pieter Wuille)
77339e5 Get rid of the static chainMostWork (optimization) (Pieter Wuille)
Add CMutableTransaction and make CTransaction immutable.

In addition, introduce a cached hash inside CTransaction, to prevent
recalculating it over and over again.
Code simplifications after CTransaction::GetHash() caching