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.
Taking `array.view(...)` does indeed result in a call to `__array_finalize__`, but with `array` passed on, not `x` as in the call below, and hence one does not have access to possible attributes of `x` that one might want to copy.