Test executor optimization

Optmized ceylon.test ``DefaultTestExecutor``.

It was doing a lot of unnecessary work (still does some, but much less now). Caching validation for classes was the main speed booster.

Tests for ceylon.collection ``HashSet`` were running over many seconds (+/- 9 secs) before, but now they run in at most 0.6 seconds on my machine, which is great!