Refactor UrlSchemeValidators and allow more schemes

This patch:
* Fixes a bug in the 'any' validator. The "must start with a
  character" part was missing.
* Adds all schemes from core's default $wgUrlProtocols that
  contain '://'. This does not mean users will be able to use
  these schemes. This is configuration, see the 'urlSchemes'
  setting in WikibaseLib.default.php.
* Refactors the code heavily to not rely on method_exists "magic".
  Personally I find this confusing. A clever, impressive solution,
  sure, but not worth it.

Bug: 72924
Change-Id: Ib9daa614e0488ff5a94443e30ac5c7a0f6e99a73
Merge "Refactor UrlSchemeValidators and allow more schemes"