Handle 'nameless' files using SI CSV reader

The 'nameless' format is similar enough to the SI CSV format to allow it
to be read that way.  Besides, there are variations of it that include
names, and support for these has also been added.

Fixes #19.
parseCourseLength: return null for invalid length

This is what one of the readers was expecting but not getting.  Two
others were attempting to convert the NaN it used to return to null.
Add utility method to parse course climb

Gets rid of the last usage of (...) || null, which would incorrectly
return null if the parenthesised expression had the value zero.
Update version number and generated files.