url: some minor changes

• use appropriate string functions
• simplified regexps
• use a labeled block instead of a bool for auth data
url: rearranged Url.prototype.format

the same as #3291, just without the regression and including all updates
url: simplified Url.prototype.resolveObject
url: fixed typo, use strict equals