Training DB clean up gracefully

When closing down we left the training database open
and this caused problems when looking to implement
a restart function.

The problems stemmed from the way the QSqlDatabase
code was implemented in TrainDB which was modelled on
code in DBAccess that was cleaned up subsequently.

TrainDB code now mirrors the approach taken in DBAccess
and relinquishes resources correctly. The TrainDB is now
closed as well as being opened in main.cpp at startup.

Also, removed reference to obsolete dbconn member in the
DBAccess class definition since it is no longer used.
Restart properly when home changes

After fixing up the trainDB problem we can now restart
the mainwindows safely when the athlete directory changes.
Command line parsing

Now allows:

$ GoldenCheetah [[directory] athlete]
$ GoldenCheetah [--version|--help]
$ GoldenCheetah

Passing the athlete on its own is as before, but you can
now also pass the folder name in as well.

I've also added the option to get a help message if you
pass --version or --help.

Lastly, as before, with no command line paramaters you
open the last athlete worked on.

Since we now output the version and build info I have uplifted
the build and version numbers in GcUpgrade.h to reflect the fact
we are now developing v3.1.
Fix show W' on AllPlot bug

.. redraw didn't happen until you changed smoothing
   or selected a ride file.
Athlete Bests on Summary

Configurable metrics to show top 10 bests for date
range selected.
Slight cosmetic on new Athlete bests

.. and don't show zero values.
merge master into personal