fixed some unit tests
Added new Sim class

This is part of a restructuring, and will replace the ParticleData
class. One of the additional things this does is partition the particles
into contiguous bodies and shove the isolated particles into a
ballisticParticles list. This is so big isolated lumps of material can
be processed in isolation, which should be good for memory usage in
certain situations. It will also hopefully reduce some unwanted
behaviour I've seen where sprays of material fragments behave as if
they're still stuck together.