Add required locks in tests

Unit tests with DEBUG_LOCKORDER were running into assertions.
qt: get required locks upfront in polling functions

This avoids the GUI from getting stuck on
periodical polls if the core is holding the locks for a longer time -
for example, during a wallet rescan.
Add missing AssertLockHeld in ConnectBlock
Merge pull request #4055

bb1f1c9 [Qt] importwallet progress (Cozz Lovan)
Merge pull request #4085

b39a07d Add missing AssertLockHeld in ConnectBlock (Wladimir J. van der Laan)
41106a5 qt: get required locks upfront in polling functions (Wladimir J. van der Laan)
ed67100 Add required locks in tests (Wladimir J. van der Laan)
Add MESSAGE_START_SIZE from chainparams when loading blocks from external files.
Merge pull request #4087

0caf2b1 Add MESSAGE_START_SIZE from chainparams when loading blocks from external files. (Simon de la Rouviere)
[Qt] Optionally add third party links to transaction context menu