Adds search through hasMany relationship

This adds the ability to use `qProperties` to search through hasMany relationships for a model.

This could be used for searching through a country's state by using:
`qProperties: ['name', 'states.name']`

This only supports a single level of relationships, so doing `states.cities.name` would not work.