SearchRepo should return POCO instead of collection

As part of resolving #411 we need to do a bit of work to deserialize things properly.

This is what we get from the server:

```
{
  "total_count": 40,
  "items": [
    {

    }
  ]
}
```

I thought about whether we could bypass all this and check for the presence of `items` in the JSON - perhaps we don't care about `total_count` - but the magic for that is deep inside `Connection`.

This PR fixes the `SearchRepo` method the user has report, but the other search methods need to be addressed as well.

 - [x] add integration test and fix problem
 - [x] update impacted tests
 - [x] we should return a read-only collection - this isn't working in SimpleJson (how are we doing with updating that @Haacked?)

Fixes #411