BUG: MultiIndex/frame ctor issue when tupleize_cols=False

When passing a dict of tuple keys -> Series-like and columns=MultiIndex then we
have to catch a custom exception because of lexsort issue with MultiIndex.
CLN: anticipate mi constructor fix
TST: test for correct warning class
CLN: use a set to avoid a list copy

Could use list(values) from OrderedDict, but that creates a copy, whereas using
a set to track the objects does not.
CLN: no need to try to find the parent in bs4 since it will be the table itself