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.
Is this script used to generate the data in data/example?  If so, how about we get rid of the file and just have instructions for how to use this to generate the data?  (I was quite surprised at seeing 65k new lines of code, but most of them appear to be changes to that one example file)