Methods for creating alternative uuids based on existing uuids

* Adds method `createAlternative` to `UUIDFactory`, that can produce another uuid based on an original one, in a deterministic fashion.
* Adds method `uuidToByteArray` to `UUIDFactory`, that produces a byte representation of a uuid.

Ping @mikaellothman or @MrShish