* Throw objects instead of strings in the _fail functions 
    - otherwise we won't be able to distinguish between regular errors.

* make sure that the string outputted in _report_success(), etc. is 
generated by a method and is not constant.

* Update the documentation - currently it's mostly updated only to 
Test::Harness.

* Eliminate the rest of the unnecessary global variables.

