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?
