Check if lookup can operates on select

To get decrypted values we need to run a SQL like this one:

```SQL
SELECT pgp_pub_decrypt(fieldname, private_key) FROM table;
```

We might be able to achieve the same thing as the `annotate` with django lookup.

cc @maxpeterson 
This feels ugly - you're monkey-patching the `lookup` class with this `encrypt_sql` attribute. I haven't thought of a nicer way to keep the consistent `lookup_name` `'hash'` though.

If we do keep this approach, I think it would be cleaner to check `issubclass(found, HashLookup)` before the monkey-patch.

You also don't need `setattr` here:
```python
found.encrypt_sql = self.encryption_method.encrypt_sql
```