add array shorthands support and object/matches

this allows a shorthand syntax for array methods that receives a callback/iterator function. eg:

```js
// regular callback
find(arr, function(p){ return p.name == 'john' });
// shorthand
find(arr, {name: 'john'});
// or even (any item that contains a truthy "id")
find(arr, 'id');
``` 

It also adds a new method `object/matches`:

```js
var john = {age:25, hair:'long', beard:true};
var mark = {age:27, hair:'short', beard:false};
var hippie = {hair:'long', beard:true};
matches(john, hippie); // true
matches(mark, hippie); // false
```

if this feature gets merged we should support the shorthand syntax on the `object` and `collection` packages as well.

see #15

PS: still missing docs about this new feature.