BUG: sparse/dsolve: fix dense matrix fortran order bugs in superlu wrappers

This also allows passing in dense matrices to SuperLU, without needing
to loop on the Python side.
BUG: sparse/dsolve: check sparse matrix inputs more carefully
BUG: sparse/dsolve: fix build failure on Numpy 1.5
STY: sparse/dsolve: minor code cleanup
Merge pull request #3367 from pv/splu-bugfix

BUG: sparse/dsolve: fix dense matrix fortran order bugs in superlu wrappers