Extracted XML Report generation into it's own file.

Rough and ready refactor as the task file was starting to get a little bit meaty which may make future maintenance a little bit more costly.
Merge pull request #11 from jonnyreeves/feature/extract-report-generation

Refactor: Extract Report Generation