patching goog.array.reduce per issue 352

This commit patches the bug in goog.array.reduce that fails to set the `previous` argument if `initialValue` is not provided.

Rather than testing undefined, as initially proposed in the issue comments, reconstruct the arguments and use `apply`.

Unit test provided.