(bug 40588) LinkSearch cannot search with a port in the url

Special:LinkSearch doesn't handle urls with a port correctly.

The detection of the protocol to search for (in LinkSearchPage::execute()) cant handle
the extra colon a port introduces in the url. Fixed by making LinkSearchPage::execute
use wfParseUrl() to detect the protocol.

LinkFilter::makeLikeArray didn't handle the port correctly too, putting it in the
domain part of the url. Fixed by rewriting makeLikeArray to make use of wfParseUrl().
This also fixes the problem of makeLikeArray not removing username and pass from
the search pattern.

Allow queries like 'ftp://*' or 'mailto:*' to find all links with specific protocols

Bug: 40588
Change-Id: Id3dd31993456bf6cbba4cf17962cf0083b612bed