nurse shark, first draft

Open for feedback, but *not* for merge. I'll be working on this branch as well to update the viz code for the new data model.

The only things you can test here presently are validation with the node script `dev/validate-with-timing.js` and the tests for nurse shark, `test/nurseshark_test.js`. The visualization itself is broken, as expected.

@cheddar I added a couple of things that were missing to the schematron, as per my comment on the Trello card.
It's only in the demo data generator (different language, Python), `tidelinedata.js` (core tideline), and nurseshark (a plugin that could one day end up in a separate repo, for which reason no code should be shared with core tideline).