Refactor: MockUploader for Unittesting Purposes

There was already a code duplication, since a `MockUploader` was needed for two different unit test suites. Now that I need a slightly different `MockUploader` for yet another unit test suite, I decided to factor out the duplicated code as much as possible. This also simplifies the legacy test cases by doing the necessary global state handling centrally (and hidden).

Additionally this specifically adds the **Mock** as a `SpoolerDefinition::DriverType`.