FEATURE: Load recursive dictionaries
I have fought with trying to load recursive dictionaries (with labels that have depth) for about an hour now, and [this seems to be the solution](http://stackoverflow.com/questions/28157564/please-explain-odd-behavior-with-pandas-dataframes-of-multi-level-index)

```
import pandas as pd
test = {'a': tuple(range(10)), 
       'b': tuple(range(10, 20)),
       'c': {'0': tuple(range(10)), 
             '1': tuple(range(30, 40))
            }
      }

def dict_depth(d, depth=0):
    if not isinstance(d, dict) or not d:
        return depth
    return max(dict_depth(v, depth+1) for k, v in d.items())


import collections

def flatten(d, parent_key=()):
    items = []
    for k, v in d.items():
        new_key = parent_key + (k,)
        if isinstance(v, collections.MutableMapping):
            items.extend(flatten(v, new_key).items())
        else:
            items.append((new_key, v))
    return dict(items)

def df_dict(dic, filler=''):
    '''Convert a general dictionary into a data frame (even nested ones)'''
    make_len = dict_depth(dic)
    out = {key + (filler,) * (make_len - len(key)): value for (key, value) in flatten(dic).items()}
    return pd.DataFrame.from_dict(out)

df_dict(test)  # gives a nice value when using an ipython notebook
```

Is it possible that this can be included in the general loading mechanism? I can't see why it shouldn't be.
