Fixed issue that caused IDictionary<K,V> (but not IDictionary) to be treated as lists

Data objects that implement IDictionary<K,V> but that do NOT implement IDictionary are now also treated as dictionaries (rather than as lists).

Fixed #49.