Reduce is a better name than inject

We strive to improve the state of the art. Naming is important.

So now reduce cannot have an initial_memo, being that it is named such that it reduces the array to one value so it must take the first into account. The best common example being a summation.

Inject does take an initial memo, it being that it implies that it injects the whole array into something else, the something else being the initial_memo. The best common example being injecting an array into a dictionary in some manner, the initial memo thus being @{}.