Update tests to reflect API consistent with ticket links

Also expand test coverage to handle additional failure cases.
Update article URI API to be consistent with ticket URI API

Previously the article implementation of LocalURIPrefix added
/article/ to the returned prefix where the ticket version
implemented in fsck_com_rt.pm did not add /ticket/ in
LocalURIPrefix but rather in URIForObject. LocalURIPrefix is
largely an internal method used by URIForObject, however
rt-validator uses it when fixing links for Organization
changes. Make the APIs consistent to avoid special case code
elsewhere.
Warn if we parse an id but can't load the article
Move article object validation to cover entire method

Add a check on the $article object to the end of the method to
catch the case where Organization may have changed. Previously
this would result in a "Can't call method "Id" on an undefined
value" warning.
Validate Organization change for article and other types of links

Check non-ticket links for a changed Organization.

Use %INC to find loaded RT::URI subclasses to catch link types
that might be loaded from an extension like Assets.
Detect and offer to clean up links to missing articles

Article is added to @models to make it available in the sub that
checks for links to missing objects. However, @models is used
in several other checks in the validator and as a result missing
articles are now also detected in transactions and OCFVs.
Validator will offer to remove the transactions, but doesn't
yet handle OCFVs.
Add indent for new foreach loops
Fix indent. Whitespace-only change
Merge branch '4.2/fix-organization-for-all-links' into 4.2-trunk