* Rename artifactsRepo -> buildDataDir to be more explicit about the fact that
it holds more than just the artifacts.
* Revert removal of run ids.
* Move Worker definition into core as part of making the core responsible for
accepting run requests.
* Make the core module more responsible for internal details of data structure
and storage. External callers should not need to construct paths to
artifacts, versions, etc. but should be able to call method in the core
module to do this work for them.
* The working directory no longer contains anything but the checked-out code.
All StrawBoss-specific data is stored by StrawBoss elsewhere.
* Add a regular maintenance cycle to the server module.
We were expecting to find the path to the `strawboss` binary implicitly from
the environment, which meant that configuration was also implicit, and required
more setup. Now the path to the binary is explicit in the StrawBoss runtime
configuration, and the path to the configuration file can also be explicitly given.
* Split the `test` nimble task into `unittest` and `functest`, with
corresponding test directories and test runners.
* Added documentation in README regarding building and testing StrawBoss.
* Created a small, simple test project for use in the functional tests.
* Added a `keepEnv` template in the server unit test code to make it easy to
preserve the working environment for a single unit test to invistigate
failures manually.