Integrate DrySite into test metaclass

pywikibot.Site enhanced to allow the interface parameter
to be a class, which is used for the new Site object.

Test class attribute dry = True uses a DrySite object that
prevents Request.submit from accessing the server.

Many tests converted to dry tests, allowing them to be run
by jenkins before code review.

Change-Id: I64232a8a5b3401b4ee19e97f112a23c28fc6ff92
Merge "Integrate DrySite into test metaclass"