added trapezoidal rule with tests in at least 2 dimensions