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.
Yep. If you're already in settings view, clicking settings isn't expected to do anything. The React component for a header requires a handler function for the click however, so I just added this because I saw the React warning in the console that the required prop was missing.