Fix Url::is()
Fix Url::is()

`parse_url()` cannot be used to validate an URL, because it will accept
roughly everything. In fact this is documented in the parse_url() docs:

> This function is not meant to validate the given URL, it only breaks
> it up into the above listed parts. Partial URLs are also accepted,
> parse_url() tries its best to parse them correctly.

Fixes #3391

Cyperghost/WCF,SoftCreatR/WCF,Cyperghost/WCF,Cyperghost/WCF,WoltLab/WCF,WoltLab/WCF,SoftCreatR/WCF,Cyperghost/WCF,SoftCreatR/WCF,WoltLab/WCF,Cyperghost/WCF,WoltLab/WCF,SoftCreatR/WCF