changed: make the matrixops helpers a normal c++ class

no templating going on here, no reason to keep it header only
added: tests for upscale_elasticity