BUG: Allow 'apply' to be used with non-numpy-dtype DataFrames
Addresses issue in #12244 in which a non-numpy-dtype for DataFrame.values causes a `TypeError` to be thrown in the `reduce == True` case for `DataFrame.apply`.  Resolved by first passing `DataFrame.values` through `Series` initialization and taking its `values` attribute, which is an `ndarray` and hence will have a valid `dtype`.  Note that the output of `apply` will still have the original `dtype`.
