Fixed #19463 -- Add 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.
As using UUIDs as primary keys is under test, and thus they may end up used by FKs/M2Ms, it might be prudent to see if ticket [22382](https://code.djangoproject.com/ticket/22382) (UUIDs and prefetching) is:
- valid [I concede it might not be]
- not a problem in this case, either because of the implementation itself or because of changes elsewhere in Django.

I appreciate that's an extra burden to consider, and isn't directly related to this Field implementation, but should it be a problem, it's probably best caught early in the Field's lifecycle.