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