Added Karma-Junit-report handling with additional logging

This closes issues #15.

General change summary :)
- README.md update
- Refactor for SoC (separation of concerns) by creating KarmaUtils, code reflow for top to bottom reading (these are unrelated changes, but hopefully you like them)
- JLINT error clean up (@SupressWarnings)
- Full code documentation for anything that was modified
- pre/post plugin execution
- Additional logging (.info/.warn etc)

But most importantly:
- Added ability for capturing karma-junit output and moving to an optionally configurable report directory (similar to how SureFire works)

The reason for these changes were to allow for better handling of the junit reporter results so that they can be read by our continuous integration server (Bamboo) without the need for weird relative pathing or funky antrun scripts.

These changes will probably conflict with the pull request #9 from nidi3.

Let me know what you think :)