Add basic auth

This pull request adds setBasicAuth, which I'm hoping is within the scope of the project.

I've tried to follow naming conventions and coding style as best I can. If there's anything that needs to be tweaked please let me know as I'm still trying to develop my sense of Haskell style :)