core: Make DefaultMessageValidator non-static

Making DefaultMessageValidator non-static allows user-defined message
validators. DefaultMessageValidator implements the Validator<Message> interface
and the MessageValidator is specified upon construction.

In the spirit of keeping Config as simple as possible, keep Config as before
commit

  9b7ee5f801108bed44caa0cc72fab5f521e86309

was merged and pass an instance of Validator<Message> to Session. Allow also
only point-to-point messaging by invalidating messages that contain
OnBehalfOfCompID(115) or DeliverToCompID(128) tags by default.

In DefaultMessageValidator use anonymous classes as message and field message
validators and invoke instance methods of DefaultMessageValidators from isValid
allowing customized validation logic by overriding the default implementations.
Allowing customization, this approach allows, for instance, accepting
SenderCompID and TargetCompID upon the FIX protocol authentication phase.
Customized message validation is used in SupportThirdPartyAddressingSpec.

Finally, remove CompIdValidator and MessageValidator as these classes are no
longer used.

Signed-off-by: Karim Vuorisara <karim.vuorisara@valotrading.com>
stirling: Update README.md

Signed-off-by: Karim Vuorisara <karim.vuorisara@valotrading.com>
core: Give tag validators names that makes (more) sense

Signed-off-by: Karim Vuorisara <karim.vuorisara@valotrading.com>
Merge pull request #165 from valotrading/features/parameterize-message-validator-in-session

Make DefaultMessageValidator non-static