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');
```
Should this return true if a property exists in any item in the array, every item in the array, or a single, targetted item in the array? It seems to be the third option. ie, using `array` from the tests

``` javascript
_.deepIn(array, 'level1') //=> false
_.deepIn(array, '[0]level1') //=> true
```

Does this offer anything over the previous functionality?
``` javascript
_.deepIn(array[0], 'level1') //=> true
```