Implement new TestML driven test framework

I'm opening this PR for discussions about what else needs to be done to finalize the revisions to testing before merging to master.

I'd like to keep this focused on changes to the test **framework** (and porting old tests to it).

Adding new tests (and fixing bugs) can be done in smaller feature branches after the test framework change is merged.

(Though I wouldn't object to having all test counts replaced with 'done_testing' as part of these revisions, if someone wants to take that on.)

Any pushes to this branch will update the PR, so we can use this to coordinate our work.