A juju charm and bundle test runner
This is designed around the fail fast principle. Each bundle is composed of
charms, each of those charms should have tests ranging from unit tests to
integration tests. The bundle itself will have integration tests. Those
tests should run from least expensive to most expensive in terms of time,
failing as soon as possible. The theory is that if tests fail in the charms,
the bundle cannot function. Bundletester will therefore pull all the charms
and look for any tests it can find and run those prior running its own
integration tests.