W' Work

.. don't rely on WPrime to compute it, its pretty simple
   to compute as long as CP is set

.. add to the summary totals so always there to compare
   against the total work
Autosolve CP for Min W'bal +/- 3w

.. just speeding up the autosolve by only looking in increments
   of 3w, should speed up by a factor of 3 but will mean the result
   is correct to +/- 3w .. which given the W' is usually only right
   to +/- 2kJ should be about right.
Revert "ANT+ Don't write 5 blank bytes"

This reverts commit c0b38a193c5eaa77dc2e23b91ae5d4236c921a53.

It has introduced errors on Mac and Windows -- we need to better
understand why this is not the case on Linux and whay /exactly/
it is doing that helps on the other platforms.
Fix WPrime spline starts from 0

.. offset needed to be a double not an int to ensure
   we handle recording gaps from powertap etc where
   it is not an whole number of seconds

.. Thanks for Armando Mastracci for highlighting this
   and providing a test file to recreate

Fixes #773
WPrime interpolation fixup

.. don't be so keen to add zero values interpolating gaps
   in recording when the gap is less than 2 samples wide.

.. previously we were adding way too may zero values at
   subsecond intervals that caused an interpolated value
   returned by the spline to be /practically/ zero.
WPrime don't crash on bad data

.. if duration is overly large we don't want to get some
   massive array, it will exhaust heap and cause a crash ..
   and it is likely to just be bad data.
New Metric W' Exp

For maximum W' capacity expended i.e. Min W'bal
expressed as a percentage of W'.

So if W' is 20 kJ and W'bal is 2kJ then 18 kJ
have been expended, which when expressed as a
percentage of W' (18/20 %) would be;

Max W' Exp of 90%

I also cleaned up a few extra instances of WPrime
being created when calculatinf metrics which was
not a big deal for the Metric refresh but would make
interval metrics painful.
Red text in summary for W'bal below zero
W' Exp rename W' Expended

It was too oblique a name, could have mean't a few things...
Less bounds checking on W'bal calculation

.. to save on computing cost the W'bal decay was only
   calculated to 20mins and also bounds checked to a
   decay of 0.1w, but of course, the decay is more like
   25 minutes and 0.1w * 1500 samples is a lot... so
   I've removed them.

.. the key optimisation is the way the decay is integrated
   and that is skipped for samples where W' exp is zero ..
   that optimisation reduces the amount of computing cost
   to 25% of doing it for all samples.
FitRideFile: correct issue with unknown field type in fit file
fix #724
FitRideFile: We may need to add string support
FitRideFile: wrong copy-paste
W'bal use threads

.. to boost performance. Now will compute the integral
   in parallel and saves about 35% in elapsed time on a
   dual core processor.
merge upstream into master
merge master into personal