DEPR: deprecate get_values
Closes https://github.com/pandas-dev/pandas/issues/19617

Reviving an old branch I had lying around. So this was more a quick experiment to see what it involves. The main "problem" is that we ourselves use `get_values` in a bunch of places (eg `values_from_object` which is massively used). 

The current situation:

- `DataFrame.get_values` simply points to `.values` so is (I think?) always a numpy ndarray.
- `Series.get_values` points to `_data.get_values()` (the SingleBlockManager), which in turn does `np.array(self._block.to_dense(), copy=False)`. 
  So the `Block.to_dense()` in general returns a view on the array, although for ExtensionBlock it does `np.array(self.values)`, with the exception for DatetimeTZBlock, which ensures a non-object array with `np.asarray(self.values, dtype=_NS_DTYPE)`, and for CategoricalBlock, it returns the Categorical.get_values which can be a DatetimeIndex.
- `Index.get_values` points to `.values`, so is a numpy ndarray with the exception of:
  - newer Index objects which are already backed by EA: IntervalIndex returns IntervalArray here (but eg DatetimeIndex with tz aware data does return a numpy array)
  - `CategoricalIndex` overrides the parent method to return the `get_values` of the underlying Categorical, which in turn mostly returns an ndarray, but an EA for interval-backed dtypes and DatetimeIndex for datetimetz aware backed categorical.

Summary: a complete mess :-)

This PR is for now just an experiment to see where it is used. Now, we should see for all those places what would be the best replacement (unless we are fine with keeping such a `_internal_get_values`, but it would be good to clean this up somewhat ..)