Fixed #21242 -- Allow more IANA schemes in URLValidator

Add an optional "schemes" parameter to the URLValidator constructor
that allows to pass additional URL/URI schemes to validate against
should the validation fail against the default schemes (as part of the
generic URL regex, i.e. http(s) or ftp(s)). Also add an "uri" utility
module that provides constants with all currently registered IANA
schemes as listed on
https://www.iana.org/assignments/uri-schemes/uri-schemes.xhtml