def pow!(power)
      make_dimensionless if power == 0
      return self if power == 1
      if power < 0
        self.reciprocalize!
        power *= -1
      end
      return self if power == 1 #reciprocalized self
      original_dimensions = self.clone
      (power - 1).times { self.multiply!(original_dimensions) }
      get_description
      return self
    end
def pow!(power)
      make_dimensionless if power == 0
      return self if power == 1
      if power < 0
        self.reciprocalize!
        power *= -1
      end
      return self if power == 1 #reciprocalized self
      original_dimensions = self.clone
      (power - 1).times { self.multiply!(original_dimensions) }
      get_description
      return self
    end
Raises self to the power provided. As with multiply and divide, the
 #get_description method is invoked to attempt to find a suitable
 description for the new quantity represented.