Adds py3 UserDict support

Uses py3 collections.UserDict or falls back to UserDict.UserDict