Invoke shouldn't throw for null or undefined

This has been brought up before

 - https://github.com/jashkenas/underscore/pull/1520#issuecomment-37668674

I often need to do an invoke where some items may or may not have a function defined (should this only check if its defined?). So I do something like

```js
var someCollection = [...];

_.chain(someCollection).filter('update').invoke('update');
```

Anyway, this is consistent with the rest of the codebase if nothing else
I don't like the `null`/`undefined`-preserving behaviour here. Just pick one. I'd choose `null`.