Implement -[RLMArray indexOfObjectWhere] and friends

And fix a crash when filtering a tableview which the test for this ran in to.

@alazier 
We are doing far too much work here. There is no need to create an RLMArray (which is a relatively expensive operation). You can use the `Query::find()` method to get the index directly (without creating any objects or views). It will return `tightdb::not_found` if there is no match.