core: add Pow trait

This adjusts core::num::pow() to require implementations of the Pow
trait, where as before any `One + Mul` could be accepted.

[breaking-change]