Reworked tracking of collisions with solids
to properly handle ignored solids.
Some more documentation.