Fixed a number of bugs - SetGenericCollection was calling Add against, for instance, IDictionary.Add(TKey, TValue), when it should have been calling against ICollection.Add(KeyValuePair<TKey, TValue>) which would cause 'Parameter Count Mismatch' along the way
Fixed a number of bugs
- SetGenericCollection was calling Add against, for instance, IDictionary.Add(TKey, TValue), when it should have been calling against ICollection.Add(KeyValuePair<TKey, TValue>) which would cause 'Parameter Count Mismatch' along the way

After fixing that, came across a couple of additional issues:
- KeyValuePair<,> that are intended to be inserted into an ICollection / IDictionary are populated specially so that they don't contain null keys
- PopulateObject is called from inside of CreateDefaultValue -- this effectively makes the call to PopulateObject recursive, which is necessary, for instance, to handle enums with non-0 start values that are nested more than 1 level deep in the object hierarchy

NServiceKit/NServiceKit,ZocDoc/ServiceStack,NServiceKit/NServiceKit,meebey/ServiceStack,MindTouch/NServiceKit,nataren/NServiceKit,MindTouch/NServiceKit,ZocDoc/ServiceStack,nataren/NServiceKit,timba/NServiceKit,timba/NServiceKit,nataren/NServiceKit,NServiceKit/NServiceKit,ZocDoc/ServiceStack,MindTouch/NServiceKit,timba/NServiceKit,NServiceKit/NServiceKit,MindTouch/NServiceKit,nataren/NServiceKit,meebey/ServiceStack,timba/NServiceKit,ZocDoc/ServiceStack