Support arrays in the object tree

works for things like:

```javascript
// I want to get a very specific value, but not cause javascript to totally crash if any property is undefined
_.deepGet(collection, 'level1[0]level2');

// or

_.deepIn(collection, 'foo.bar["baz"][0].qux');
```