This change fixes the following warning:
```
trace: Obsolete option `boot.tmpOnTmpfs' is used. It was renamed to `boot.tmp.useTmpfs'.
```
This option was renamed in this PR:
https://github.com/NixOS/nixpkgs/pull/204534
These are simple tests to make sure that the generated docker-compose.json
looks like it should. This means has a build.context and does NOT
have an image defined - the image is built when starting the service.
One could declare it, but it was unceremoniously ignored.
A "localhost/" image was created with pretty much nothing in it
and it couldn't be launched.
The cause was services.<name>.service.image being always set
and subsequently thugs services.<name>.image.nixBuild being truthy.
That would build an image and write the services.<name>.image field
in the docker-compose.json. It leads to the build.context being
ignored and the service failing.
This was solved by only writing services.<name>.service.image when
services.<name>.service.build.context is not set.
services.<name>.image.nixBuild is additionally set to false when
the context is set.
Related to #208
The arion base image was a poor substitute for the customization
layer that only worked for some images.
By modifying dockerTools to export only the customization layer,
we can support arbitrary root contents.
Technically this opens a new attack vector, but if you don't trust
the code you're deploying, you should already have taken precautions
because of nix-shell, direnv etc. This just adds arion to that list.