Fix exception handling when creating IO Dispatchers

When creating IO Dispatchers, there is possibility that an exception(fatal) can occur due to which dispatchers/worker threads creation fail and requests in queue aren't processed forever. See for example: https://issues.apache.org/jira/browse/HTTPCORE-758
So that if there are any exceptions while creating IO dispatchers, shutdown() will be called and all the components down the line are shutdown and cancel() will be called for future callbacks references, thus the caller won't wait indefinitely for the response from Apache Http client.
1 file changed