[contrib.postgres] UUIDField

Added UUIDField. Not particularly complicated this one - no custom lookups or anything. Casts all values to `uuid.UUID` instances in python.

TODO:
- [x] More form field tests
- [x] Documentation

Squashed patch should be marked as fixing #19463.
Hmm. It occurs to me that if `primary_key=True`, and we do this, it would look like the object already exists in the database before it actually is saved.

Although, since postgres cannot create UUIDs, that's going to present a problem anyway.