Added Collection::reduce() and unit test.

I sometimes miss the ability to call `::reduce()` on a Collection, to reduce it to a single value using a callback. The unit test is based on the example code from the documentation page for `array_reduce()` [on php.net](http://php.net/manual/en/function.array-reduce.php#example-5092).