simplify code
- got rid of cycle wizardry, simply let peers send hashes and blocks on demand in tests
- sensible values for request intervals
- introduce Wait() to wait for active processes with procWg workgroup for tests
- flush -> purge
- make control and reset buffered channel to mitigate deadlock
- fix known parent assignment
- reinitialise known chain section if there is a fork mid section
- fix link function
improve tests
- introduce logInit() to setup logging for tests
- consistenly make the last AddX call synchronous before Wait() is called
- got rid of cycle hackery. peer waiting is now done with time.Sleep
- test wait timeout now 60s
fixes for TestMidChainPeerBestAgain and TestMidChainPeerDownSwitch
- reactivate idle section process if blockchain head reaches it
- fix processC when section process enters idle mode
add TestFork
- fix section reinitialisation comes before reactivation
- select case of resetC in section process loop simplified
add tests
- TestParallelChains
- TestInvalidBlock
- TestVerifyPoW