GPMatrix compiles

typedefs point to traits class, and traits class is specialized for GPMatrix
fix return value of eigen()
pass around scalar_type
WIP