CLI test framework

This is a ``bash`` based framework to allow easy testing of command line tools.

How the tests work is documented in the ``docs/developers/testing.rst`` in the docs commit.