move all inline implementation into the unit.cpp file because I'm
getting nuts of having them shattered around.
boyscout