summary.py: Treat subtests as groups

This patch causes tests with subtests to be treated as a group, rather
than as a test. This means that the status the test itself stores will
be overwritten by those in the subtest.
core.py: don't write subtests as full entries

This stops subtests from being written as full entries in the json.
Instead, in the summary code the test with subtests is treated as a
group, and the subtests as real tests.