Tests: First pass at refactoring.
Fixing some problems with test execution order.
Test nesting is now a relationship, and they're stored flat.
Fix test scopes and fix their execution order with careful async code

This marries the various test views together; this is acceptable.
Allow disabling of tests. Now all enabled tests are passing!

UITests are broken; nothing gets rendered. To be sorted out, but that's
lower priority than (a) regression test master writeback, and
(b) automated, command-line testing.
Tests: Move Base64 tests from tests/base64_spec to FUNTests.

Required fixing the Base64 encoder, since it was indexing directly into
an ArrayBuffer, which always returns undefined.
Merge with a couple of changes ago, where I disabled some others
Testing: Include arepeatpar() test from tests/async_spec.
Remove unused tests/ subdirectory before repurposing it
Node: Fix bootstrap problems caused by scope pollution bug in vm module

Filing a bug against Node; this is explicitly not supposed to happen
with vm.runInThisContext.
Serving from Node works, but writing tests back doesn't
Writing back test results! Required careful transient handling.

All the regression tests now have masters saved that LGTM.
Fix accidentally mislabeled regression test
Moved regression check to RegressionTest.atest()

So it's self-contained and not dependent on the ResultsView.
Add hasFailed method to abstract different kinds of failure