REVIEW: [NEXUS-6688] Add more robust url validation

https://issues.sonatype.org/browse/NEXUS-6688

Also fixes use of ftp in urls: https://issues.sonatype.org/browse/NEXUS-3235
these changes are a side-effect of almost brining in the validator.js script directly, but reverted to make something simpler and targeted for now.

left refinements to boot messages however