Add mod and pow functions

mod and rem behave differently for negative numbers. Clojure has
both.

In Clojure you'd use Math/pow, but since Ruby only has the **
operator, we should define a pow function.