tests: ensure spatial tests don't carry metapod stuff
add the (failing) doubledef test

This test is commented out because it fails to compile with messages
like:

CMakeFiles/test_doubledef.dir/doubledef.cc.o:(.bss+0x80): multiple
definition of `metapod::Spat
ial::ConstraintMotionOneAxis<0>::m_S'
CMakeFiles/test_doubledef.dir/test_doubledef.cc.o:(.bss+0x80): first
defined here
CMakeFiles/test_doubledef.dir/doubledef.cc.o:(.bss+0x40): multiple
definition of `metapod::Spat
ial::ConstraintMotionOneAxis<1>::m_S'
CMakeFiles/test_doubledef.dir/test_doubledef.cc.o:(.bss+0x40): first
defined her

This is a bug in spatial, I fear. Most spatial functions should probably
be declared inline.
Operators implementation must be in a source file not a header.
Operators not templated must be in source file not in headers.
Put operators implementation in source file.
Remove operators implementations for inertia.
Remove operators implementation from transform.
Add operations implementation for transform in source file.
Add operators implementations for cm-oneaxis in source file.
Add operators implementation for cm-freeflyer in source file.
Add operators implementations for cm-anyaxis in source file.
Create metapod_core for the operators implementation and void the double ref pb.

Fix the pb of double reference on operators
spotted by Sebastien Barthelemy.
No problem regarding the benchmark with this change.