ENH: DataFrame.stack() with 'level' a set or list of sets

Closes #8851.