More File Closing

Shocked at the lack of file closing in the rest of the
ridefile readers.
v3.0 RC4

.. update GcUpgrade.h
Fix RideFileCache threaded db access

The call to RideFile::getWeight() in RideFileCache
computation ends up with a call the read the measures
table in the DB. This is BAD since it is called from
a thread.

We now call getWeight() in the metric aggregator before
launching the ridefilecache computation -- this will cache
the weight and avoid db access.

I've also removed the duplicate code in the w/kg metric code
too and it should be marginally faster at computing metrics
now.

BIG THANKS TO ILJA BOOIJ FOR HIGHLIGHTING THIS, DESPITE MY
INITIAL SCEPTICISM. I OWE HIM A PINT (OR TWO) :)

Fixes #604
RideFileCache dbaccess thread ...again

Need to call getWeight() in the RideFileCache when it
opens the ride there rather than in MetricAggregator.

Oopsie.
getWeight() always sets weight_ to non-zero

Just in case .. to avoid threaded db access in RideFileCache.
Upgrade: Set default weight to non-zero

As part of the upgrade, if the default weight is zero
set it to 75.