Add ServerErrorHandler

Here, there are two types of error handling: one is provided by serverErrorHandler, the other is reporting to slf4j `LOG.error(message, IOException)`.  If the user want to suppress error message here (but want to show the other error messages), there is no way to do this. 

How about providing default ServerErrorHandler which reports error messages to slf4j? If the user wants to add some error handling in addition to the default behaviour, he/she can call `super()` in the `handle(IOException)`.