refactor the ignore fields to use a linq query
handle unsafe keys

seems that sometimes even enumerating the keys can throw this exception.
added a guard against this
Merge pull request #106 from MindscapeHQ/unsafe-key-enumeration

Unsafe key enumeration