Allow developers to provide their own implementation for AsyncHttpRequest.

This is a solution to assist developers with an easy means of carving their own implementation of AsyncHttpRequest.

A repetitive request from developers of late is to be able to send multiple requests and then track their responses and when they all finish. Well, now it is rather easy to do with this change.