Optimization of diffusiontest.py

The diffusion update rule can be performed in one step (method a) as
opposed to looping through and calculating each compartment separately
(method b).  This allowed for a performance boost.  For a 1000
compartment system with initial starting activities that is allowed to
run for 1000 timesteps, method b takes 40s and method a takes 28s.

This has yet to be implemented in the starburst class.