Fixes #522 -- document the arguments to the iterator in reduce
Fixes #554 -- documents arguments to defer
Fix #556 - interpolate coerces null/undefined to ''.
Merge pull request #560 from braddunbar/interpolate-null

Fix #556 - interpolate coerces null/undefined to ''.
more tests, and using __t trick in `_.escape`
Tighten specification for _.sortedIndex

sortedIndex should specify that it returns the lowest index at which an
item may be inserted to maintain sorted order, rather than any index
which satisfies this property, in order to provide easier use
maintaining a sorted list of unique elements.

For example, with the previous specification, the following behavior is
possible:

_.sortedIndex([10, 20, 30, 40], 30)
=> 3

To accommodate this behavior users would have to check both array[si]
and array[si-1] (when si > 0) before inserting to ensure uniqueness, or
to examine the underscore.js implementation and rely on the
implementation not changing.

Note:  This specification change does not require any changes to the
code.

Signed-off-by: Kevin Locke <kevin@kevinlocke.name>
Add test for tightened sortedIndex specification

Test that the lowest index, rather than any index, at which the element
should be inserted to maintain sorted order is returned.

Signed-off-by: Kevin Locke <kevin@kevinlocke.name>
Merge pull request #562 from colinta/master

One last addition...
Merge pull request #563 from kevinoid/sorted-index-spec

Tighten specification for _.sortedIndex
comments and style tweaks
Merge branch 'master' of github.com:documentcloud/underscore
Add _.exclude(object, *keys)

Return a copy of the object, filtered to exclude the blacklisted keys (or array
of valid keys).

Similar to _.pick, but using blacklisting instead of whitelisting which can be
more appropriate in some cases.
in sortedIndex test, rename variables to prevent confusion

I was confused when I read the second part of the test. The variable name was index2, and "30 should be inserted at index 2". But then I looked a few lines up, and saw that index's number "should be inserted at index 3". I had thought that the '2' at the end of 'index2' meant something it didn't. This renaming prevents that confusion.

This change highlights the repetition in this test. It is possible that a good next step would be to refactor the testing of these two numbers into an each loop. Or perhaps that would make the test unnecessarily complicated. I am not confident enough to make that call, so I'll leave it as it is.
typo fixes
Merge pull request #567 from shama/patch-typo

A few typo fixes
Merge pull request #566 from roryokane/patch-1

in sortedIndex test, rename variables to prevent confusion
The 'needle' value is cached in sortedIndex
Merge pull request #571 from spadgos/sorted-index-caching

Cache iterator(obj) in sortedIndex
Use a separate variable for the iterator result value.
A linear algorithm for _.flatten.

Massive speedups on _.flatten for large, deep arrays.