fixes and improvements
- initialise control channels in processSection function
- processSection now returns section
- processSection called after adding hashes iff top hash is orphan
- correct depth count (can now be 0)
- if there is midsection fork and activateChain reinitialises section but first puts section process in idle mode
- activateChain now request hashes at the root of the chain
- fork now puts orphan section to idle mode
- fix section splitting for a mid-section fork
test improvements
- better naming for tests
- detailed comments for tests
- testing caching of partially complete sections after peer switch
- explicit test for fork chain switch back by new block