[#2384] Add conditionals for classes.

Problem
=======

The current conditionals only work for methods/functions. We  want to also skip whole classes rather than use the ugly setUpClass skip trick.

Changes
=======

Update code with a generic decorator which is based on upstream Python implementation.

How to test
=========

reviewers: @alibotean 

run skipped test and see that they are skipped and in verbose mode the skip reason is visible.

```
paver test normal.test_testcase:TestClassConditionalsPosix -v
paver test normal.test_testcase:TestClassConditionalsNT -v
```

Thanks!
Why not do `raise SkipTest(message)` to have a consistent behavior?