MAINT: remove numpy.matrix usage from linalg.matfuncs.py code and enable...

... expm of more array_likes

Regarding
```
> How do you handle list and other array_likes in sparse?

if isinstance(t, (list, tuple)): asarray(...)
```
this wasn't actually being done for `expm()` so I added it.  Before this PR, `expm([[0]])` would give an `AttributeError` complaining that a list has no shape, but now it gives `array([[ 1.]])`.

I've also removed usage of `numpy.matrix` from `linalg/matfuncs.py` although the functions should still work correctly with numpy matrices.