ENH: add subok flag to stride_tricks (and thus broadcast_arrays)

As is, `np.broadcast_arrays` does not preserve subclasses, even though for the shape manipulation subclasses should not be a problem. This PR adds a `subok` option that allows one to change that, but is `False` by default, so that existing code will continue to behave as is.
Hmmm, pandas implements array wrap but not array finalize. I kind of think it is fine to say that `as_strided`  will always return an array, like `np.asanyarray`, but honestly this is a jungle, so if someone disagrees....