BUG: copy.(deep)copy should preserve F-contiguity

Currently, copy.deepcopy() on certain objects in scikit-learn results
in the copied object being broken, as underlying methods depend on
members being F-contiguous. I can think of no reason that F-contiguous
arrays should not remain F-contiguous through a copy.copy/copy.deepcopy,
therefore this alters the methods to use NPY_KEEPORDER when allocating
the copy.
TST: expected behaviour of .copy()
Merge pull request #3415 from charris/pull-2699-rebased

Pull 2699 rebased