Implement rfc3986 option

Fixes https://github.com/request/request/issues/578
Fixes https://github.com/request/request/pull/1287

My first try on the rfc3986 issue, @mikeal @nylen @olado let me know what do you think