Updated todo
Refined custom test types code

Tests with the same JSON type can be created if they are supported by different
file types. For example, the new 'review' test for a plain text file will not
collide with the 'review' test for Python files.

In addition, Python file types in criteria files are no longer required to have
"functions" and "variables" attributes.