BUG: integrate: odeint handled the banded jacobian incorrectly.

When `col_deriv` is False, the C wrapper that calls the user's python code that
computes the jacobian matrix uses a macro, MATRIXC2F(jac, data, n, m), to copy
the data into the array that is used by the Fortran solver.  In that macro.
`jac` is the destination, `data` is the source, and `n` and `m` are the number
of rows and columns of the matrix.  The wrapper had the last two arguments
reversed.  In the case of a full jacobian, this did not matter, because the
matrix is square.  In the banded case, the number of rows and columns are not
the same.  This means that the only way to correctly use a banded jacobian was
to put the bands in the columns of the matrix, and use `col_deriv=True` so
MATRIXC2F was not used.  That would result in the data being in the correct
Fortran order, since the Fortran code expects the bands to be in the rows.

This commit fixes the use of MATRIXC2F.  Also, the docstring of odeint is
updated to reflect the correct API:  the bands should be put in the rows
of the matrix, not the columns (unless `col_deriv=True` is used).
Merge pull request #3145 from WarrenWeckesser/bug-odeint-banded-jac

BUG: integrate: odeint handled the banded jacobian incorrectly.