Fix #3976 - validate and normalize user-supplied URI for http_login.rb

This fixes https://github.com/rapid7/metasploit-framework/issues/3976

URI should be validated and normalized before being used in an HTTP request.

## Recommended verification steps

- [x] Set up an HTTP server with basic authentication. I can't be very specific here on how you can set it up, but basically you can pick your favorite server, google for instructions.
- [x] Make sure your auth path is one of these: /, /admin/, /manager/, /Management.asp
- [x] Start ```msfconsole```
- [x] ```set username [valid username]```
- [x] ```set password [valid password]```
- [x] ```set rhosts [IP]```
- [x] ```set stop_on_success true```, but you don't have to if you don't mind the noises.
- [x] Make sure you DO NOT set the AUTH_URI option, because when it's not set it will try its own default paths.
- [x] Do ```run```, you should be able to a successful login
- [x] Now, ```set AUTH_URI %```
- [x] ```run``` again. This time, it should say "[-] Invalid URI: %", and then no login attempts
- [x] Finally, ```set AUTH_URI [valid auth path]```
- [x] It should tell you the login is successful again