If we move these methods here, we need to move the tests cases as well.

(and has_good_scheme/has_bad_scheme don't currently have unit tests, though they do get covered well by parse_url tests)