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.
I found a wonderful tool called "bfg" :) that can scrub a repository's history and blow all trace of certain files. I used it to scrub the public version of the uploader by cloning locally, running bfg, and then pushing the result to the public repository. 

If you're pushing back to the same repository, it would require a force push after using it, and everyone who has a checked out version of the repository should probably just delete and re-clone, but it can do wonders.