Read start times correctly in SI reader

The time in the 'Start punch' column will be used if it is available.
If not (for example, because the event uses a timed start rather than a
punching start), the Start Time column will be used instead.

This was already supported with the 60-column variation.  Support for it
has been tidied up and added to the other two variations.
Use 'nc' column in SI data formats

When not blank, this column appears to contain 0 for competitive and 1
for non-competitive.
Restructure SI reader tests

Most tests now run on all three formats.
Add 'over max time' competitor status
Read classifiers from SI data

Competitors can now be marked as non-starters, non-finishers,
disqualified and over-max-time.
Add 'over-max-time' support to IOF XML readers
Merge branch 'issue23_si_improvements'
Fix bug with chart type selector

It was possible to view the race graph for classes that you should not
be able to if you had two classes, one that could show the race graph
and one that could not, view the race graph for the class that could and
then change to the class that could not.  This has been fixed.

Additionally the chart type selector test was using a non-existent
chart-type property.  This has now been fixed.
Update version and generated JS files
Add extra file to test data catalog

This is for the recently-fixed bug with the chart-type selector.