[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.
Related to comment above: if you passed a non-string value that is not a valid uuid, this would not change the value (or raise an exception), but an invalid string would raise an exception.

I think that's a little inconsistent: but I'm not sure if it's worth worrying about.