Class hierarchy, marking tests not using Site

Move alls tests under BaseTestCase, which has
subclasses NoSiteTestCase and SiteTestCase to
split the test suite into tests that require
a valid site and those that do not.

Tests the subclass NoSiteTestCase are prevented
from invoking pywikibot.Site, and may be run
as a subset of the test suite using:

$ nosetests -a '!site'

Change-Id: I6ee69f5b4e594a111d91bc0bafb59716900b478c
Merge "Class hierarchy, marking tests not using Site"