(Interim Commit: still some stylecop issues due to internal classes made temporarily public for refactoring purposes)

Segregates field related checks to a specific extension class
Segregates related tests as well
HasFieldsWithSameValue now ensures that expected fields are present
Refactors HasFieldWithSameValues
Fix for HasFieldsWithSameValue
Bring coverage to 100%, except for one line
Restore expected message on the test demonstrating issue #115