problem with TestLoadUnload.py

I tried to put @skipIf(...) before setUp, but it didn't work. Currently I
have the build inside an if, checking for Hexagon. We don't support this use
of shared libraries, so all tests are skipped.

I certainly don't want to build the testcase 6 times, given that we're
moving away from that! But we need some general way to skip the build for
systems that can't build a given testcase. I have many tests skipped when
running without an OS, because we don't support c++11 in that mode.

A couple of things here:
- there should be no performance difference between doing build in
setUp and the test function as setUp is called once per test function
- my change was to run have the paralelization at a file level
(previously it was at folder-level). All test functions in a single
file are still run serially.
- also, why do we need libgen.h in the test in the first place? Can we
just remove that?

So, right now it should be possible to move the build call into the
test function without negatively impacting much of anything. However,
I would like it if we can move towards a world, where we can do more
stuff in the setUp() function (or even setUpTestCase()), as that what
they were meant for -- setting up state which is common for multiple
tests. One way to achieve this would be to resurrect our ability to
@skip an entire test class. Right now the situation is that some of
our decorators work on class level, but most of them don't. I don't
think it should not be too hard to fix the decorators to work at class
level as well. Then if the whole test class does not apply in some
situation, we can @skip the whole class and avoid even running the
setUp code.

WDYT?