Add integral power routine

A real power routine depends on support for complex matrices which we don't provide yet.
It looks to me like this is wrong if !m.IsZero(). If m is zero, then a gets cloned into m. If m is not zero, then nothing happens. So, the first multiplication that happens with m is actually m * a , not a*a.