Add accessor-agnostic update kernel generation functions

and use them for generating stream-pull kernels
8 jobs for accessor_choice in 10 minutes and 28 seconds (queued for 2 seconds)
latest
Name Stage Failure
failed
flake8-lint Test
lbmpy/updatekernels.py:58:36: E127 continuation line over-indented for visual indent
lbmpy/updatekernels.py:77:1: E302 expected 2 blank lines, found 1
lbmpy/updatekernels.py:79:121: E501 line too long (128 > 120 characters)
lbmpy/updatekernels.py:80:36: E128 continuation line under-indented for visual indent
lbmpy/updatekernels.py:80:121: E501 line too long (144 > 120 characters)
lbmpy/updatekernels.py:96:1: E302 expected 2 blank lines, found 1
lbmpy/updatekernels.py:97:121: E501 line too long (124 > 120 characters)
Cleaning up file based variables
ERROR: Job failed: exit code 1
failed
minimal-windows Test
23.20s call     lbmpy_tests/test_extrapolation_outflow.py::test_pdf_simple_extrapolation[aa-D3Q27]
22.67s call lbmpy_tests/test_split_optimization.py::test_split_number_of_operations
20.65s call lbmpy_tests/test_fluctuating_lb.py::test_resting_fluid
=========================== short test summary info ===========================
FAILED lbmpy_tests/test_macroscopic_value_kernels.py::test_set_get_density_velocity_with_fields[Odd-esotwist-False-None-D2Q9]
FAILED lbmpy_tests/test_macroscopic_value_kernels.py::test_set_get_density_velocity_with_fields[Odd-esotwist-False-guo-D3Q19]
===== 2 failed, 369 passed, 20 skipped, 12 warnings in 439.24s (0:07:19) ======
Cleaning up file based variables
ERROR: Job failed: Process exited with status 1