feat #791 add async-aware `beforeClass` and `afterClass` in TestCase

Apart from long-existing `setUp` and `tearDown` that are executed before
each test method, add `beforeClass` and `afterClass` which make it
possible to execute heavy methods only once.

The main added value is the possibility to do the things asynchronously
here (otherwise it could have been done in `$constructor`). Could be
useful e.g. to load a big JSON in `beforeClass` and then write normal sync
tests, instead of forcing the developer to load the JSON and continue in
the callback function.