Refs GH-189

 * Added the `@requires` annotation.
Less is more.
Update ChangeLog.
Fixing a class name detection problem similar to
https://github.com/sebastianbergmann/phpunit/issues/71

When running "phpunit AllTests.php" on a Horde test suite file PHPUnit
identifies the class we extend from as our test suite class.

The patch uses reflection to ensure the detected class is actually
defined in the file that has been loaded.
Merge pull request #272 from wrobel/Fix_test_suite_class_name_detection

Fix class name detection when extending from another test suite.
Improved credibility of ConstraintTest

ConstraintTest tested against failure messages that were never displayed in production because they were overridden by TestFailure::exceptionToString(). This is fixed now.
Taught PHPUnit_Framework_TestCase::dataToString() to deal with recursive arrays
Added test coverage for PHPUnit_Util_Type
Improved test coverage of class Assert
Fixed comparison of float values with very small differences
Added test coverage for canonicalized array comparison
Replaced PHPUnit_Framework_Constraint_IsEqual::recursiveComparison() with a comparator sub-component

This sub-component has three final goals:

 * Allow end-users to override the comparison mechanism for specific
   data types. This is especially interesting when classes have internal,
   random property values (for example generated tokens or IDs) that
   should be ignored when comparing two objects.

   This goal is achieved by this commit. You can implement a custom
   extension of PHPUnit_Framework_Comparator and register it by passing
   it to PHPUnit_Framework_Comparator::register(). Look at the source of
   the existing comparators for more inspiration.

 * Currently, PHPUnit fails to print the difference between very large
   object trees. These trees are converted to strings using print_r(),
   which fails to export such large trees and leads to segmentation
   faults. You can reproduce this behaviour by passing two unequal
   Doctrine_Record[1] instances to assertEquals().

   This goal will be achieved in a future commit.

 * Currently, the diff output for large object trees is very hard to use,
   because the diff contains much more information than necessary to
   inspect the error. Because comparators throw
   PHPUnit_Framework_ComparisonFailure instances when they fail, they can
   also provide a lot of information about where exactly the comparison
   failed.

   This goal will also be achieved in a future commit.

[1] http://www.doctrine-project.org
Modified constraint subframework to use the new comparator classes
Renamed variables for more clarity
Claimed authorship in modified files
Added comparator for MockObject instances
Renamed PHPUnit_Util_Type::toString() to export()

This goes along better with shortenedExport(). Apart from that, the output
of both methods was streamlined. See the diff in Util_TypeTest for more
information.
Removed unused code and added missing PHPDoc
Merge pull request #273 from 2bepublished/comparators

Implemented Comparator subframework and improved test failure output.
Cleanup.