parallel_reduce

Added `parallel_reduce` (like `reduce` in [Python](http://docs.python.org/2/library/functions.html#reduce) and [Ruby](http://ruby-doc.org/core-1.9.3/Enumerable.html#method-i-reduce) and similar to [`std::accumulate`](http://en.cppreference.com/w/cpp/algorithm/accumulate)).

Note that any operation given to `parallel_reduce` must be associative (ie. `(a + b) + c == a + (b + c)` if `+` is the operation).