fix(sort): do not require comparator to be a string

Given that angular's `orderBy` filter [supports a function or array as arguments](http://docs.angularjs.org/api/ng.filter:orderBy) (for example, if you want to sort first by one thing, then if equivalent by another) I don't see why we're requiring the comparator to be a string.  With this change you can do something like this:

```
new $collection({ comparator: ['-date', '+name] })
```

To sort first by date descending, then if equivalent by name ascending.