reorder methods
slight code consistency update
fix newSize()

(this only worked if the new size was less than twice the old size)
don’t use ReflectivelyEqual for BigDecimal, BigInteger
add a sensible toString()
simplify description of unsatisfied matchers

(and better performance when mismatchDescription is Description.NONE)
add GraphTest and fix cyclic errors it exposes

* use multi-line, indented descriptions of object graphs
* avoid infinite recursion in object graph description
* globally cache Matchers (associate with expected instance identity)