Use partial for defer.
Merge pull request #1977 from jridgewell/partial_defer

Use partial for `_.defer`
Add _.attempt

This was previously proposed in
https://github.com/jashkenas/underscore/pull/1241, but was rejected.
[Recently](https://github.com/jridgewell/minionette/commit/0008824d2f90d
507b5827131d11b72e61c1c5826#commitcomment-8961227) @megawac and @jmeas
brought up this was a common pattern, so I’m trying again.

This also aligns _.invoke with the other collection methods, since it’ll
no longer throw when the method isn’t defined on the object.