First version, copy Theano reshape 2e version optimize it by not always coping when not contiguous when the strides/shapes allow it.