Use a Digester instead of StAX to get the toolVer

The choice of StAX was made because the streaming aspect allowed a small
memory footprint. The `toolVer` attribute is located in the very first
XML tag, so reading the whole report was not needed. The issue is that
it failed on a slave. It now uses a `Digester` from commons-digester.

The version extraction has been moved to a new VersionParser, also only
visible within the same package. Moving to a dedicated class made it
easier to test this very part.
Check which priorities we extract from annotations

Refactoring is coming, and we need to make sure we don't break stuff. It
would be better to test everything, but this is still better than no
test.
Refactoring of the parsing code

The main idea is to separate the parsing "plumbing" (commons-digester)
from the data model. Instead of an anemic object model, the logic has
been moved to the mapped classes.

A `FileAnnotationBuilder` interface with package visibility was added to
create a bridge between the XML parsing and the data model. Overall, it
means less lines of code, and less complexity in various places.

Unused fields were also removed from the object model. They can be added
back when needed, but right now, YAGNI...
Improve support for C++test 9.0+

One field has apparently been replaced by a new one. The priority test
case (`CpptestParserPriorityTest`) now checks a 9.5 report.
More refactoring on the parsing code

It uses maps instead of lists for lookups, and more unused fields were
removed.
Add documentation about recently-added classes

Also tweaked visibility modifiers, and used types in some places.
Ignore "Unverified Outcomes" in the test reports
Merge pull request #7 from Zenika/digester

Cpptest 9.0+ support, take 2