Fix factories to generate unique SKUs

* Chossing random SKUs even from a high range can yield duplicates
  resulting in build failures.
* Kernel.rand(9999) was definitively never a good choice.