(#2853) - parse uri for user/password

Yeah, the parseUri function just wasn't decoding the username/password like it should. I also went ahead and put it in its own function.

Incidentally, there was a `jshint: maxlen:false` what was allowing us to become sloppy in `http.js`. Fixed that too.
above four lines are what I changed. Before it was just

```js
uri[o.key[i]] = m[i] || "";
```