Docs on the CompositeField class.
Moved quote/unquote from contrib.admin.utils to utils.encoding.

These functions have also been generalized somewhat for use by composite
values.
Initial implementation of CompositeField.
Reimplemented composite IN lookups.

Introduces InConstraint, a new DB backend operation for more efficient
multi-column IN lookups. Now, instead of creating a huge DNF expression,
an IN expression is created on backends with support for tuple literals
and an EXISTS subquery is used otherwise.
Implemented lookups on CompositeField.
Implemented proper support for composite PK in admin.

This basically consisted of adding an explicit force_text everywhere the
value of the primary key is quoted to make sure it really is quoted
properly.