missing specification on feature should mean Disabled and not throw
protecting against duplicate feature instances using a hashset instead of checking an ienumerable.
minor clean up
better comment for IToggleChecker
Downgrade to .net 4.0.