Allow to provide basic auth credentials in URL

Add ability to provide basic auth credentials in URL in form `http://user:password@example.com`.
Explicitly specified `basic_auth` option have precedence over this one in URL.
Good point. I don't feel strongly either way but I might lean towards using the options over the url creds since the latter will eventually be deprecated and the options hash is easier to set/unset without url hackery.