Fix #974: Implement java.util.UUID.

Except `UUID.nameUUIDFromBytes`, because that relies on computing an MD5 or SHA-1 hash.
No, that can cause an overflow (or underflow).