Workaround to allow SequenceReset messages to omit tag 122 (OrigSendingTime) even when tag 43 (PossDupFlag) = Y. This goes against the FIX specification, but it is common for exchanges etc to omit this field.

Utilised by adding the following line to the settings config file:

RequiresOrigSendingTime=Y

Default behaviour is to require the field, as per the FIX specification.
Bug fix
bug fix
documentation and comments for DoPossDup()
Improve code readability
Chunked resends are now sent "on-demand" instead of all-at-once

When MaxMessagesInResendRequest is set, QuickFIX generates multiple
"chunked" resends - and all of them at once. The CME rejects the second
resend complaining that a resend is already in progress (the first).

Modified the resend logic to send the next chunk only when the first one
is complete (i.e. when the last seqnum of the first has been received).
Fixed field namespace bug
Corrected acceptance test for MaxMessagesInResend for delayed chunking
Added the ability to load datadictionary files via a stream
Added composite logging

Allows use of multiple logging factories (e.g. console and file)
Added null checks to SessionID

ArgumentNullException is now thrown if beginString, senderCompID or
senderSubID are null in SessionID. Otherwise more cryptic exceptions are
thrown down the line.
credit for #181
extend the TradeClient to demo issue #48
some interface housekeeping; removal of stale old demo apps
Merge branch 'master' into stopstart_48
remove unused private variables
Merge branch 'master' into stopstart_48
update ruby version in README; add some comments to Session
Merge branch 'master' into stopstart_48
fix for issue #48 - AbstractInitiator now disposes all sessions on Stop() and recreates them on Start()