BUG: fixing linprog's kwarg order to match docs

The upper bound and equality constraint kwargs were swapped, which means that people following the docstring ordering (and not using keywords) would inadvertently supply the wrong constraints.
Merge pull request #3886 from perimosocordiae/patch-6

BUG: fixing linprog's kwarg order to match docs
BUG: Handle the case where status != 2

The local variable `message` wasn't being set in all cases, causing runtime errors.
Merge pull request #3888 from perimosocordiae/patch-6

BUG: optimize: In _linprog_simplex, handle the case where the status returned by _solve_simplex is not 0 or 2.