fix/ rewrite Esirkepov current implementation

- rewrite 2D/3D Esirkepov current deposition that formulas look like formulas from the paper
- fix calculation of distance from particle to grid point
- change Esirkepov template interface ( use shape instead of fixed assignment function, thus we can better optimize Esirkepov) 

**This branch was tested with:**
Esirkepov: 2D/ 3D CIC/ TSC/ PCS Shape
EsirkepovNative: 3D CIC/ TSC/ PCS Shape