EMI: Fix attach and detach (again)

This change set is still incomplete, but I'd like some feedback! The actor's position is calculated incorrectly still, but the rest seem to be correct. I don't think the testing patch can be merged.

Currently, the actor's position, world position and rotation are incorrect. This problem isn't obvious because most of the situations where there is attaching and detaching, there is only one actor or one of the actors has a trivial case (such as 0,0,0 for rotation). This fixes the rotation and detaching, but the position is still wrong.
Why do you use pre-multiplication order when concatenating the transforms here? I think in other parts of the engine the convention has been to use post-multiplication.

Also if you're comparing the matrices with the original game, they may have used a different memory layout for their matrices. Perhaps we actually want the transpose of what the original had instead of an exact memory match?