Fixed Diffusion and reaction diffusion solvers so that they work properly with variable diffusion coefficients. Previews implementations while conserving total amount of substance had directional bias. This was only present in the simulations where users used variable diffusion coefficients. There was also a bug in the GPU solvers when lattice size was not a multiple of the shared memory (16x16) . This was also fixed in this iteration. The problem here was with boundary conditions.