Brees leads Saints past Cardinals, 31-7