Simplified and vectorized RK4

RungeKutta now accepts a function of a vector and a time representing
the derivative instead of asking for individual components, and returns
a matrix with all generated points as rows augmented with a column
containing the times at which those positions occurred.