Separate Test Suite

Currently BuildStream only uses a make check style for testing itself, however there are still large parts of BuildStream which cannot easily be tested, especially when it comes to Element implementations.

To remedy this, we should have a separate test suite which involves building some small BuildStream projects designed to cover all of the use cases. This will be important moving forward as we add more Element implementations and need to be sure that they are continuously tested.

To do this, we can use separate repositories for each test case, or we could use branches of the buildstream-tests repository.

BuildStream projects for testing every Element should be created, and BuildStream's ".gitlab-ci.yml" file should be updated to run BuildStream for each of the test projects.