Fix sorting when test names are equal

shouldn't ever try to sort by the function
Neater implementation of xfail macro
fix mixed up test names
XFAIL is a pass and XPASS is a fail
Add parameterised tests
Move TODOs to trello/github
Make skipif support constants as predicates