Better access levels

Many entities made internal / private, most notably EventHandlerThread.
Client.Start now has a Client.Stop to go along with the
EventHandlerThread internalizing.
New class ErrorEvent : Error as exceptions in the EventHandlerthread and
event loop don't seem to be caught by the calling try-catch.