Add a `@Workspace` annotation, which allows the workspace location, or output directory, to be injected into an artifact transform. This is used on `ArtifactTransform` to set the `outputDirectory` property. The plan is that this will also work for any other artifact transform types we might add later.
In this commit, the `@Workspace` annotation is basically just treated the same way as `@Inject` and the workspace is passed as a service of type `File`. These will be separated in a later commit, so that `@Workspace` will supply only the workspace, and `@Inject` will supply only services.