d8584682f0
Fix 3D joint handling of collision exceptions, so that they lose effect when the joint is not valid in every case; also some redundant code removed. Also avoid trying to create the joint when not neither body A nor body B are set. Make 2D joints be handled like their 3D counterparts, which adds the fixes to them while also removing duplicated code. (adapted from commit 4a98a59aa6810a679370e3664e89b3d83eb3d879)