Refactor Link
Refactor Link

Refactors Link in preparation for making sitelinks their own class.

BaseLink
- consists of a 'title', 'namespace' and 'site'
- constructor accepts 'namespace' as int, Namespace or local name
- constructor accepts 'site' as Site or dbname
- can be initialised from a Page object

Link
- extends BaseLink with 'section' and 'anchor'
- constructor expects the wikitext for a link and the site on which
  the wikitext was found.

Bug: T66457
Change-Id: I3ac9057419a5aa61616c6623957614f82fefbf90

PersianWikipedia/pywikibot-core,wikimedia/pywikibot-core,wikimedia/pywikibot-core