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.
Interesting stylistic question. I prefer the way I have it because I feel like it's more explicit, but I don't feel super strongly about it. I'll change it for now, and maybe one day we can decide on a consistent strategy for tideline.