added shared_ptr support for HTTPObj; changing the thread synchronizatio mechanism from semaphores to I/O poolling