Math lib msvc pow

This corrects compilation errors when using visual studio.

The `constexpr` specifier is not available yet in that particular version of the microsoft compiler and only partially in the not yet released visual studio 14. So long we go back to the basic template metaprogramming.
why not `pow`?