Make components' tests run on their own and from main repo

Tests can now be run from the main repo as well as independently for each component.

With these changes in place, each component is now self-sufficient. This resolves one of the things that prevented splitting off components from the main repo (#267).

Tight coupling between tests is now avoided, though it incurs some minor duplication.
Each component has dedicated test config and bootstrap.
Duplication of parts of the skeleton is not ideal, but helps to reduce
dependencies between each test suite. Also, this eases the future
subtree split.

Resolves / closes #268
Supersedes / closes #290