Fix a crash in FlightVars TCP server

When TCP server is waiting for a begin session message, it may receive
garbage (bytes chunk that cannot be recognized as a message). In that
case, an exception is thrown but uncaught, which causes the process to
terminate.

This commit fixes this issue by adding a catch statement in
`on_read_begin_session()`. In addition, some new test cases have been
added to check how the server responds against chunks of garbage.
Split TCP server thread from tick observer

So far, the same thread is attending both the TCP server and the tick
observer which is performing blocking actions on FSUIPC FlightVars
instance. See issue #19 for further details.

This change forces `flight_vars_server` to execute the var update handler
in the same thread that is attending the TCP connections. Along this, the
plugin main's function is creating a `simconnect_tick_observer` that may
be used to check for updates in `fsuipc_flight_vars` object.
Merge branch 'issue/20'