Move definitions into cpp files

fixes #57

I moved much code from the headers into the source.  I find it easier to see what a class is doing this way.  Another benefit is that one can alter code in Board.cpp without having to recompile all of the pieces.

Enough of utils/Position.hpp is templated I didn't feel the need to extract the two methods up top.