Allows for more options when getting data from dictionaries.
Fixes #9502 

See the [cloudtb tests/test_pandas.py](https://github.com/cloudformdesign/cloudtb/blob/f/pandas/tests/test_pandas.py) for more examples of use.

Once it is approved to go forward, I will add tests to show more about how
it can be used and make sure that every edge case if functional.

Has no effect on unit tests, although on my machine two were failing
before change, and several were skipped (and still fail after change). 
Please re-run unit tests.

Should have a negligible effect on performance, as it first checks whether
it should be used. If performance does end up being an issue, I
recommend adding a kwarg `flat=False` to the `DataFrame.from_dict`
method for speedups when the user knows their dictionary is flat
(i.e. is not nested)
