Bz is averaged and given at integer time to the particle.

A dependence on the old Bz is introduced.
Removed unneccessary check.

a is always positive because if p.getX() is negative then i is also negative and a becomes positive again.
Removed +0.5*cellWidth(cellHeight) corrections for the case where the particles are behind the left or the lower boundary. These corrections are implicit in these cases because the particle positions are measured from the right(upper) part of the cell.
Corrected and verified charge and to particle interpolation. (made a sketch of the algorithm)
Current interpolation now takes into account that the current fields are located on shifted grids. The new implementation is the same as in the charge and "to particle" interpolation methods.