Handle network and server errors

Goal is to ensure that the screen never goes down because there is a
problem communicating with the server. Since the frontend will refresh
continuously, we will display the error but once it is resolved,
operation resumes as normal.

Unfortunately, an HTTP request can result in a plethora of errors,
including HTTP-related errors, SocketErrors, and more. Therefore we
have a catch-(nearly)-all which is limited just to those requests.