Some problems:
- package.xml not valid. You also need no baseinstalldir apart from the first dir tag, and md5sums are automatically generated by pear when calling "pear package"
-- dependencies are missing (i.e. http_request2)
- Your example require w3c_htmlvalidator files
Code looks really clean - kudos for that. The documentation is great too!
In addition to what Christian said:
* I'd implement a fluent interface for all set (__set(), set*(), add*()) methods (currently you return void)
* I'd refactor parseRestResponse()
* in Services_AChecker_Response, Services_AChecker_Message, ...: I'd rather have get and set methods instead of public variables (personal preference, I guess)
* type hinting in addError(), addLikelyProblem(), addPotentialProblem()
* added bonus: unit tests :-)