Fix ordered tests #2 (use NULL)

This fixes

- Crashes in ORDERED_TEST (#337) 
- Lost test cases in ORDERED_TEST (#338) 

1. NullTestShell removed completely.
2. Flawed conditionals corrected.
3. Ordered test at head inserted properly
4. List is terminated by zero pointer
5. Static member is missing-initialization-resistant

     return (!test || (!test->getNext()) || (test && test->getGroup() != test->getNext()->getGroup()));

seems to be OK. Maybe I overreacted...