Fixes #75 - non-unique property names appear after destructuring in some circumstances. Struggling to find a way to do this using the 4.5 reflection APIs that doesn't incur the overhead of creating a hash-set or dictionary.
Fixes #77 - empty the log context when crossing app domain boundaries.
#75 - if depth limiting kicks in causing dictionary keys to be "cut off" from the serialized object graph, filter them out so that the dictionary construction doesn't fail.
#75 backport for .NET 4.0
Fix the #75 fix.