[SUREFIRE-1095] NPE in JUnit 4.x RunListener + Refactoring

Fix for SUREFIRE-1095 + refactoring.
https://jira.codehaus.org/browse/SUREFIRE-1095