Move json loading into a function.
Fully-defined test suite is now implemented.

See TODO's in the diff for what's next.
remove model, add name

model was actually the serial number and mostly useless so ditch it

require a filesystem-friendly name