Add knockout.mapping plugin v2.4.1

TODO: Confirm that this is compatible with our old Knockout version

See https://github.com/SteveSanderson/knockout.mapping/releases/tag/2.4.1
Add Knockout-Validation plugin v1.0.2

TODO: Confirm that this is compatible with outher KO bits.

See https://github.com/Knockout-Contrib/Knockout-Validation/releases/tag/v1.0.2
Add bare JS module with client-side data models.

This uses the "revealing module" pattern to hide internals; a family of
classes for the interesting parts of our data model; and prototype
methods to conserve memory for complex illustrations.