Sanitize input values from CSV data in 3x-import

and also in 3x-index import-csv.
Fixed run.store's chmod usage to never fail

With group/other writable files and certain umask setting, simply doing
chmod -w was not enough.
BuildKit update
Fixed GUI to work with empty result dataset
Separated JSON interface to SQLite as sqlite-json
Overhauled GUI's data interface to the engine

3x-results and 3x-status (in fact, 3x-index and queue) now exposes JSON,
and GUI uses them directly without having to parse their fragile text
outputs.
Swapped switch statements for different charts' subclass methods
Filtering tick labels on log axes so that fewer are displayed
Put chart subclasses and Chart into separate files