ENH/API: accept list-like percentiles in describe (WIP)

Closes https://github.com/pydata/pandas/issues/4196

This is for frames. I'm going to refactor this into generic since to cover series / frames.

A couple questions:

- API wise, I added a new kwarg `percentiles`. For backwards compat, we keep the `percentile_width` kwarg. I changed the default `percentile_width` from 50 to `None` (but the default output is the same) Cases:
    1. You specify `percentile_width` and `percentiles` -> `ValueError`
    2. You specify neither `percentile_width` nor `percentiles` -> `percentile_width` set to 50 and same as before
    3. You specify one of those, everything goes as expected.
- I'm accepting either decimals (e.g. [0.25, .5, .75]) or percentages (e.g. [25, 50, 75]). Those two are equivalent in output. Should I move this logic to the `.quantile` to be more consistent?
- I'm choosing to not sort the provided percentiles. It's easy for the user to sort, but hard for them to unsort if for some reason they want it in a specific order. I'd rather not add another kwarg.