* Initial implementation of Python data processors
* Add RideEditor to PyFIx script editor
* Enable write-access to activity data for python fixes
* Add GC.deleteActivitySample method
* Add GC.deleteSeries method
* Check for python fix for changes before close
* Build python fixes menu dynamically
* Make python fixes first class data processors
* Add GC.postProcess method
* Check GC_WANT_PYTHON and "Enable Python" setting for python fixes
* Add GC.createXDataSeries method
* Clean up ScriptContext ctor mess
* Support editing xdata series
* PDP: Implement xdata append/remove methods
.. a data processor can now be configured to run on save
.. in addition, the data processor is now passed the operation
that is triggering it: "Manual", "ADD", "UPDATE", "DELETE",
"IMPORT".
.. a new data processor has been added to write a JSON file to
the snippet directory (added to the athlete structure).
.. this is so we can output a snippet every time an activity is
added, updated or deleted (i.e. runs "on save").
.. these JSON snippets can be used to update external datastores
where coaches use other analytic software but don't want to
manually sync GC changes with there external stores.
Introducing a directory structure to make it a bit less
daunting for new developers and perhaps even old hands.
The main folders all start with an upper character, so src
files are now located in;
* Core - Core data structures
* Gui - Main GUI elements
* Metrics - Models and Metrics
* FileIO - Device and File I/O
* Charts - All the chart types
* Cloud - Working with Web Resources
* Train - Anything Train View specific
* ANT - Our ANT+ Stack
* Resources - Images, Translations, Web etc
Apologies to anyone who needs to merge across this update.