remove Rhino.Mocks -> prefer state based testing
add DelegatedLog and bring back Trace lvl
remove Trace log level

 - it's no longer needed.  i'll make the save info available another way so it can be displayed when showing settings
add ParseSettings to replace nvc repo Append

 - NameValueSettingsRepository.Append parsed an object into it's internal nvc.  The only place this was used was to create the nvc repo.  Adding ObjectExtensions.ParseSettings removes that responsiblity from the nvc repo.  The returned nvc can always be added to the nvc passed into the nvc repo.  Overall, it seems like a cleaner pattern.
change ISettingsRepository.TryGetValue -> GetValue(ISearchContext)

 - introduce BaseSettingsRepository: provides common logic for repos with an in-memory structure
 - big refactor
add SettingsViewer: view all settings in node
update SetContext to allow one per mapping

 - this allows consumer (i.e. SettingsViewer) to pass in the a custom SetContext to collect ReportSuccess info
define return type for SettingsViewer
update SetContext to allow one per mapping: fix tests
move SettingsViewer to diagnostics
implement SettingsViewer displaying repo & key used

 - enhanced ReportSuccessDelegate to include property
 - added Config.Mapper.DefaultReportSuccessDelegate which makes it easy for tests to always log the how.  will be useful for troubleshooting
finish tests for SettingsViewer
add Repo filter for SettingsViewer

 - will return only settings filled by the given repo
add comments to SettingsFilter
add KeyUsed filter for SettingsViewer

 - will return only settings filled by the given key