Add support for UUID version 1 to UUIDFactory

Also improved documentation and minor cleanup.

The UUID1 implementation is standardized and compatible with other implementations, such as [python's uuid.uuid()](https://docs.python.org/2/library/uuid.html#uuid.uuid1). 

@adamvoncorswant @fredrikbackstrom Please have a look.
@adamvoncorswant 
I suspected that, and I understand your point of not putting any third-party libs in the toolbox.

I think you are referring to `DeterministicTimeUUIDFactory` and the problem with that class is that it's using a non-standardized way to saving time stamps (that differs from the python implementation for example).

`DeterministicTimeUUIDFactory` is already based on `java-uuid-generator` so I could probably port the parts of interest. I guess the question is how much bells and whistles we want in terms of making sure the system clock is correct and such (see [JUG src](https://github.com/cowtowncoder/java-uuid-generator/blob/3.0/src/main/java/com/fasterxml/uuid/UUIDTimer.java#L214)). In `DeterministicTimeUUIDFactory` there are none, so I could start by trying to making a minimal implementation of this.