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 
You're totally right monkey patching seems a bit strange here. Following your recommendations (in real life) and the [django docs](https://docs.djangoproject.com/en/1.7/howto/custom-lookups/#how-django-determines-the-lookups-and-transforms-which-are-used) I've altered how the lookup class is assigned.