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.

[fix #9]
Add validation for the presence of adjustable

* Adjustments without an adjustable item do not make too much sense
* Enforcing an adjustable is always present will make it easier to find
  bugs in related code.
Add validation for the presence of adjustable

* Adjustments without an adjustable item do not make too much sense
* Enforcing an adjustable is always present will make it easier to find
  bugs in related code.
WIP