add new current solver zigzag

add new method to calculate the current of moving particles

- [x] arbitrary shape support
- [x] 2D support
- [x] 3D support
- [x] documentation

Tested:
KHI electrons/ positrons
- [x] 2D CIC/TSC/PCS
- [x] 3D CIC/TSC/PCS

we just had a discussion about that and it might be more useful to use `const byVal` for integral types.

basically it's no overhead and pointer/references usually screw up compiler optimization by pushing the local optimization of a non-write value to an inter-procedural level.

but maybe I am wrong, would be interesting to know @f-schmitt-zih 's opinion on that.