Bug groupby quantile listlike q and int columns
When columns are integers, `df.groupby(label).quantile(<arraylike>)` fails.

- [x] closes #30289
- [x] tests added / passed
- [x] passes `black pandas`
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [x] whatsnew entry

@jreback I know this isn't exactly what you thought of per our discussion here (#30462). This is by far the cleanest implementation I can think of. Reason being:
1. I'm hoping to keep the function call to `_get_cythonized_result` the same whether q is scalar or not. Hence we would end of having a list of dataframes. They may have `Index` or `MultiIndex` with them so I feel it is not so clean to build index for them one-by-one. 
1. If we concatenate them first, using `reorder_levels` method seems the most natural way of doing things. There's no clean way (that I know of) to place the quantile index level inside before concatenating them. 

On a side note, I refactored the original for-loop which is slow and not as readable and used numpy to construct the same array (`indices` variable).
Let me know what you think, and I will adjust accordingly! thanks @fujiaxiang nicely done! keep em coming!