Documentation: Palatino Fonts

Prettify the pdf output to use palatino fonts from the GNU Press.
Also started to work on chapter 3 of the user guide, but it is
far from finished.
Fix foreign characters (e.g.Umlaut) in JSON parser

Thanks to Walter Burki.

Fixes #529.
Fix calendar issue for Italian translation

.. it turns out the translation for Data and Date are both
Data!

.. we now use the first column that matches when seeking special
fields. This is a bit of a hack, but good enough for now.

Fixes #530.
Fix searchbox dropdown alignment

Fixes #528.
Fix color bug "in Italian"

.. actually it was an uninitialized variable bug introduced
by the earlier fix for the calendar model.

Caused by new code checking if an index was -1 before setting
it, but forgetting to initialise it to -1 to begin with.

Fixes #531.
Documentation: Chapter 3 update

.. menu bar documented, still need to do remaining elements of
the main window.
UI Nits: Use a toolbutton on the handle

The animation on clicked for a pushbutton was fugly on a Mac.
Fix for 'stuck in full screen' issue

When GC is restarted after being closed full screen, the saved geometry
is larger than the actual screen size - resulting in the title bar being
drawn off screen & not easily reachable.

This patch checks whether the saved geometry is larger than the current
screen size, and resizes to the screen size instead of the saved values.
Merge pull request #532 from dresco/geometry-fix

Fix for 'stuck in full screen' issue
Improved deduction of PWX recording interval

Fixes #533.
Add Timex PWX file to test rides

.. used to recreate 2s recording bug #533.
Invalidate incore cache when refreshing

If an incore cache of an aggregated RideFileCache is invalidated
by a ride in the same period being edited it does not clear
until the cache array is cleared (25 of them so likely to be
never) or upon a restart.

This fixes them being invalidated by refreshCache.
Refresh all curve when spikes edited and saved

.. will refresh after the metrics and cpx have been refreshed

.. it invalidates the data rather than refreshing immediately
   since thats expensive and better wait until refresh is needed.
Translation: More texts now available

Including
* ScopeBar 'Home', 'Analysis' selection names
* Downloaders: Powertap, Calendar
* Wizards: Split, Add device
DataFilters: Summary should have a filter

Missed off by accident when filtering was added.

Fixes #536.
Defer metric refresh till end RideImportWizard

.. speeds up large imports considerably.
Revert "Code Cleanup: RideFileCache remove mallocs"

This reverts commit 6fdc55528f6f5bf704b93a7f101634c3f4908928.

The performance decrease is considerable. Using mallocs across
my personal ride collection takes 5:19 to compute all the caches.
Using the QVector equivalent took 22:40.

Need to consider looking at QVector across the GC codebase.
Multicalendar double update fixups

.. lots of unneccessary setting of dates and refreshing optimised out.

.. but probably more lurking coz we handle updates from all over the
   place and worse to miss one than do it twice in most cases.
MultiCalendar updateEnabled setting

.. in setRide() to avoid 'flickery' update.
GcCalendarModel optimise updates

.. don't reset if the current month and year are the same as
   the current selection and no rides have been added or deleted.