implements __dir__() for Dict which avoids calls to get|setitem() with __methods__ and __members__
Merge branch 'fix-dir-issue' - should make pulling the prune() changes easier