BUG: Fixes #5376: np.ravel to return same array type

See commit message for details.
I was just curious about the reason for the `asarray`, I was sure there was one.  Was there a problem for matrices? I was thinking we might want to do something about printing subtypes, but that is probably a problem for another day.