ParticleCounter: synchronize access to HashSet during neighbourhood scan

Getting ready to multithread this portion of the mapping
ParticleCounter: try multithreaded neighbourhood mapping

May be affected by lots of HashSet locking