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.
Fwiw, I think the api of this is a little bit cleaner if you assume that the thing has already been built when passed in here instead of always passing it off to module.exports().

So, the call-site to this would look like

```
schematron().oneOf(schematron({ billy: 'bob'}), schematron(...))
```

Or whatever.