Fixed gibs order not being remembered sometimes

This happened because HashSet doesn't always retain insertion order.
Fixed gib saving, changed float to double...

...for more precision and to avoid rounding errors,
Fixed a bug that would cause gibs' directions to get messed up,
Fixed angular velocity not being loaded,
Gib modification refinements