Isolate basic-auth credential.

I thought I needed to have access to the username and password in the request, so I wrote this little wrapper `wrap-basic-authentication-params`.

All the old test pass without problem, there where a lot of `(and something (...code...)` piece in the code that  I don't love, but I tried to keep the same level of control in my code.