Restart from scratch

* Use gmock/gtest for unit tests
* try to do even more Test-Driven Development
Define more needed C++11 features
Escaped IAC bytes are replaced

Escaped IAC bytes in the raw telnet data are replaced by TelnetParser.
Moved TelnetParser class

Moved TelnetParser class from unit test to a separate shared library.
Update travis-ci script
Small fix for travis-ci
Revert back to qt5_use_modules for travis-ci
Fix build by installing g++-4.8
Revert back to qt5_use_modules for travis-ci
Introduce TelnetClient and TelnetConnection
Move TelnetParser code to subdirectory telnet
New enum TelnetCommand

Added new enum TelnetCommand that represents the TELNET command codes
defined in RFC 854.
TelnetParser doesn't emit dataReceived for commands

TelnetParser class does not emit dataReceived() signal for TELNET
commands.
New enum TelnetOption

Added new enum TelnetOption that represents TELNET option codes defined
in several RFCs.
TelnetParser emits optionNegotiationReceived

The TelnetParser class emits the signal optionNegotiationReceived()
when it parsed a single option command.
Move command parsing into separate method

Refactor TelnetParser by moving the option command parsing from
parse() into a separate parseCommand() method.
TelnetParser handles multiple option commands

The TelnetParser class can now handle multiple option negotiations
in the data buffer.
Improve check for TELNET option negotiations

Introduce isOptionNegotiation() method in TelnetParser to improve check
for TELNET option negotiations.
qRegisterMetaType for TelnetCommand and TelnetOption
Encapsulate option negotiation in a struct

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