[JENKINS-4769] Memory consumption is huge

- New data format introduced, it should be backward compatible.
- Only statistics per language are stored in the publisher.
- The legacy structures are still stored too but with no data (they are null). This is to be able to load the legacy data that were stored using old version of the plugin.
- The report data can loaded from the original files after they are needed.
- Trend graph updated to use the new language statistics.
- Report summary updated to use the new language statistics.
- The plugin now consumes much less memory and is much faster most of the time.
- Only statistics are used during results publication at build time, displaying trend graph and displaying report summary. Only small statistics are deserialized.
- Complete report is loaded only when report details page is displayed.
[JENKINS-21174] Broken link in menu on the job page before the first build

- If a job is created and no build exists yet, clicking on the link in the menu will redirect the user to an empty page.
- Fixed to redirect the user to the previously displayed job page in such case.
- A new page with an info message would be better, but this is much simpler and good enough for such corner case.
[JENKINS-4769] Memory consumption is huge

- Report is cached at report details pages.