Encapsulate option negotiation in a struct

Added new struct OptionNegotiation that encapsulates the TELNET
option negotiation data.
New enum SubnegotiationCommand

Added new enum SubnegotiationCommand that represents possible
subnegotiation commands.
TelnetParser handles TELNET subnegotiations

TelnetParser class can now parse TELNET subnegotiations
including parameters.