Rewrite the dispatcher and get it started working.

Fix some test results that were incorrect.
Added a 'testf' target to the build file that stops on the first test failture