Create competitors with combined name

This replaces first name and surname, which the forthcoming SI HTML
format parser won't be able to handle.

Additionally, an error with the chart test regarding nonexistent
messages was fixed.
Initial vaguely-working version of SI HTML parser

It has been verified to work on a few SI HTML files, but it needs some
proper testing before it can be considered to be complete.
Reinstate competitors who punch no controls

The SI CSV format parser currently discards such users.  While there
isn't a lot of point showing them on a graph, they are also removed from
the results table.  That might surprise a few people.
Add tests for SI HTML parser

Some minor fixes to the parser were also made
Disable the Race Graph if start times missing

The SI HTML format doesn't include start times, so the race graph
doesn't really work with them.

As an additional complication, some competitors that don't start a race
may also lack start times.  We don't consider such competitors to lack
start times.
Minor fix to test assertion names
formatTime: Round number of seconds

Fractions can creep in, especially on the Y-axis of the race graph.
Rounding to the nearest whole second fixes this.
Update generated JavaScript files.

Completes development work on HTML-format parser and fixes #1.