PassThroughCode refactoring and create PassThrough Core and API for enhace reusability

This needs to be changed when we implement the support for HTTP Inbound for HTTPS. We should select the shared reactor for both HTTP/s based on the requested format.