Refactor SASLAuthentication to accommodate HTTP Binding and Connection Managers
SASL mechanism that require iterations of challenge/response are being handled completely by SASLAuthentication. That means that SASLAuthentication is using the connection and xpp reader to get the response. The problem with this is that when using HTTP binding or Connection Managers there is not going to be a client connection but some virtual connection. Therefore, we need to modify SASLAuthentication to accommodate to the new needs.