Assert non-empty assignments on kernelcreation

This yields better error messages
8 jobs for AssignmentCollection.__bool__ in 16 minutes and 18 seconds (queued for 2 seconds)
Name Stage Failure
failed
pycodegen-integration Test There has been a runner system failure, please try again
[ 62%] Built target executiontree
[ 75%] Built target field
[ 87%] Built target python_coupling
[100%] Built target timeloop
[100%] Generating default_codegen/MicroBenchmarkStreamKernel.cu, default_codegen/MicroBenchmarkStreamKernel.h, default_codegen/MicroBenchmarkCopyKernel.cu, default_codegen/MicroBenchmarkCopyKernel.h
[100%] Building NVCC (Device) object tests/cuda/CMakeFiles/MicroBenchmarkGpuLbm.dir/default_codegen/MicroBenchmarkGpuLbm_generated_MicroBenchmarkStreamKernel.cu.o
[100%] Building NVCC (Device) object tests/cuda/CMakeFiles/MicroBenchmarkGpuLbm.dir/default_codegen/MicroBenchmarkGpuLbm_generated_MicroBenchmarkCopyKernel.cu.o
Pulling docker image gitlab/gitlab-runner-helper:x86_64-577f813d ...
ERROR: Job failed (system failure): aborted: terminated