Network code cleanup. Moved creation if HttpAsyncClient out of request
class into a dedicated request manager class.
Updated copyright notices/Added missing copyright notices.
Updated error handling to work with new exception types thrown by
HttpAsyncClient.
Plugin now retries requests in case of network timeout.
Reuse http client instead of creating a new one for each request.