A return of `fail` should actually report failure

Fix RT so that when a test returns `fail` a failure is actually reported.  I also added a test which will allow for easy verification of the fix.  See commits for more details.