Fix RawRidFile fdopen assert crash

Rather than assert it might be better to handle fdopen()
calls that fail with more grace.  Especially since the
file wasn't being closed.

Ugh.
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.
Updated spanish translation
Enabled translation of Cancel/Save in NewCyclistDialog
FitRideFile fix truncated read crash

.. caused by an eager file.close() recently introduced.
.. and add some more when returning from error.
Merge pull request #605 from amtriathlon/master

Updated spanish translation
Merge branch 'master' of github.com:GoldenCheetah/GoldenCheetah