Wiki: Implement getDbname, getPageUrl and getUrl

Also:
* Fixed static constructor to use late static binding so that
  sub classing works as expected.
* Fix malfunctioning cache in Wiki::byDbname (forgot "self::').
* Add urlencodePage() utility.
* Make getSiteInfo() throw instead of return null. Still cache
  the error for a few minutes though.