Test metaclass

Continues:
  I6ee69f5b4e594a111d91bc0bafb59716900b478c

A new metaclass creates classes with a consist set of flags,
allowing nosetests selectors like '!write', '!user', 'wikibase',
and 'family=wikipedia'.

The metaclass adds mixins for features needed by tests, and allow
tests to be re-run across a declared list of sites.

Remove most of the globals from the test modules, and have each test
declare which sites they access.

Add support for write tests, with new write tests against
test.wikidata.org.  Write tests are disabled by default.

tests/README.rst started with basic documentation of using
and writing tests.

Bug: 56959
Bug: 56960
Bug: 70336
Change-Id: Id4b1fbeb68b4e4c17553b864fd89c160fc8feac1
Merge "Test metaclass"