Refactor lookup system
There are a few tickets that propose adding new lookup types  and
also one  that suggests adding the possibility for custom fields to have the
ability to add their own lookup types.
The current implementaion is not able to distinguish between field names and
lookup types when querying through a relation.
I briefly talked about this topic with Russel, Janis and Alex at the
djangocon.eu 2011 sprints. The consensus was that it would be worthwile to do a
refactor in this area. It would also allow django to have "awesome fields" as
Alex called it :)
I'm starting this ticket to track work in this area and also "bundle" the other
related tickets. I'll also attach a patch with a basic testcase that fails with
the current implementation.