V2 spec

Merging the working test suite base back into the main `v2` branch.  Test-writing will continue there.