Add problem testing with submission classification

Submissions can be given special classifications indicating that they
are used to test the problem. Based on the classifications, the
submission will be expected to score a certain amount, or timeout on
some test cases.

If it meets expectations, it will pass. If all test submissions on a
problem passes, that indicates the problems test cases meets
expectations.