* extract all network code to legacy submodule
* update references to legacy proto
* skeleton of futures-based protocol
* refactor skeleton to use background task
* rename communication_for to build_table_router
* implement internal message types for validation network
* basic ParachainNetwork and TableRouter implementations
* add some module docs
* remove exit-future from validation
* hack: adapt legacy protocol to lack of exit-future
* generalize RegisteredMessageValidator somewhat
* instantiate and teardown table routers
* clean up RouterInner drop logic
* implement most of the statement import loop
* implement statement loop in async/await
* remove unneeded TODO
* most of the collation skeleton
* send session keys and validator roles
* also send role after status
* use config in startup
* point TODO to issue
* fix test compilation
* runtime: candidate receipt must pass parent head
* construct parachain candidates using correct parent_head
* validate that the parent header is correct in candidate receipt
* fix test fallout
* bump runtime versions
* add some more docs about statement import
* instantiate environment async
* move attestation service into subfolder
* refactor validation service architecture somewhat
* remove dependence on validation service in proposer
* fix a bunch of warnings
* improve docs
* introduce a builder for the validation service
* extract block production to its own file
* integrate new API into service
* address review grumbles