Handle subclasses of dicts in DataFrame constructor, with tests
Minor change to allow passing subclasses of dict into DataFrame constructor.  I assume there is no way to pass these directly to cython, we have to make a copy first?

I think the solution is just to use the regular pure Python alternative to `fast_multiget`. I'll make a quick patch to avoid the copy-- surprised I don't have an initialization from `collections.defaultdict` somewhere already in the codebase
 alright, played some tricks to not have to copy the dict and added a defaultdict test also for good measure
