Added some exception handling for:

1: Starting server on port that is already in use
2: Connecting client to non-existent server
3: Catch all exception for other network errors

Each checked exception that is thrown is wrapped in NetworkException
Handled in the GUI in JOptionPane
Using NetworkException separates the GUI from a particular server implementation