get_component should work with custom mapping types

I have a model field in my project which returns a custom implementation of Mapping. `get_component` chokes on it because it subclasses `collections.MutableMapping` instead of `dict`.

Python 2.6 added the abstract classes in the `collections` module and made it such that the default `dict()` constructor returns an object which inherits from these abstract classes. This shouldn't change anything besides support a new use case. Users of previous python versions should still be supported under the old behaviour.
This changes the semantics, no?  (get may return `None` if the key does not exist)