FilesParser: Minor beautifications of log messages

- Use singular in case of only one occurrence.
- Do not log the module name if it is blank.
FilesParser: Get the number of annotations from the ParserResult

"annotations" might contain duplicates, while
"result.getNumberOfAnnotations()" does not. Use the latter to report the
number of warnings to make the log match what the Lint issues summary
shows and log the difference between the two numbers as duplicates.
ParserResult: Simplify initializing the map of annotations by priority
ParserResult: Fix checking for duplicate annotations

Previously, if an annotation is not yet contained in the set, its path gets
expanded and then added. This leads to subsequent checks for duplicates to
fail because the annotation in the set has the path expanded whereas the
incoming duplicate still has the original path.

Fix this by always expanding the path first. Except for duplicates we need
to do this anyway, and given the assumption that there are not many
duplicates we are not calling expandRelativePaths(), which might be quite
expensive, much more than before.

As an added benefit this only checks once for the annotation already being
contained in the set. Before it was checked twice, once explicitly by
contains(), and then again implicitly by add().
Merge pull request #21 from sschuberth/master

Fix checking for duplicate annotations. (Maybe related to JENKINS-24873).