BUG: DataFrame.quantile with NaNs (GH14357)
Closes #14357

I first used `nanpercentile` when available (np >= 1.9), but this only can handle numeric data, not datetimes. So therefore included a custom `_nanpercentile`

I also added some tests regarding empty dataframes/series in comments, as these are still failing (but are also failing on 0.19.0)
