ENH: Allow ravel to reshape in place when possible

Closes gh-5033

Will add tests later...
Ummmm:
```
a = np.ones((10, 10, 1))
b = a[::2,::2,::100]  # note the 1 has a funny stride
a.ravel('K').base is b
```