Very very very old bug fix

Several bugs actually:

 - the generated IDs can be longer than 8 characters
 - they can start with a digit breaking the contract
 - the test case did not catch any misformatted IDs

This code has been written in 2001 and has not been modified since.

The "real" bug is the longer than 8 character IDs and the probability of
that is low -- only if the first generated key was all digits. Still
surprising that it took 12+ years for this to actually happen and to
break data load.
Version bump to XAO::Utils 1.11