Allow any syntactically valid hostname preceded by protocol

Robuster URL handling to support custom private DNS entries.

These all should be linked

  * https://foo.dmz
  * http://local.host/path
  * http://ab.cd
  * www.example.com

But not these:

  * foo.dmz
  * local.host/path
  * ab.cd