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.