Caching negative results for a long period would be extremely annoying when adding a new prefix and discovering it doesn't work. Negative cache needs to either be much, much shorter or have a clear easy way to purge it.
* Remove duplicate code in Interwiki::isValidInterwiki(), which should help avoid future drift between the two copies
* Early return on prefix = '', we know it won't be valid :)
* Dump extra isValidInterwikiCached function -- just go through the regular fetch() path, it doesn't do much more processing.
* Simplify Title codepath in full URL generation to ensure we never call an invalid object
4 previously passing test(s) now FAILING! :(
* Inline interwiki link [Introduced between 30-Sep-2008 00:18:19, 1.14alpha (r41405) and 01-Oct-2008 16:31:38, 1.14alpha (r41504)]
* Inline interwiki link with empty title (bug 2372) [Introduced between 30-Sep-2008 00:18:19, 1.14alpha (r41405) and 01-Oct-2008 16:31:38, 1.14alpha (r41504)]
* Interwiki link encoding conversion (bug 1636) [Introduced between 30-Sep-2008 00:18:19, 1.14alpha (r41405) and 01-Oct-2008 16:31:38, 1.14alpha (r41504)]
* Interwiki link with fragment (bug 2130) [Introduced between 30-Sep-2008 00:18:19, 1.14alpha (r41405) and 01-Oct-2008 16:31:38, 1.14alpha (r41504)]