fix search tags by context with exclude option

This sentece fails to get the correct results when you have the same tag names shared between multiple contexts:

```ruby
MyModel.tagged_with(['tag1', 'tag2', 'tag3' ], on: :my_context, exclude: true)
```
The generated SQL query was not take into account the presence of context condition, so I fixed this case.

Please let me know if I have to do any other check to integrate this pull request.
Thanks.