Adding std::move to functions that return a vector to improve efficiency.
Adding out_of_range exception when the PowerOf function is asked to use a negative exponent.