Infinite loops

So the special abilities generator stress test sometimes get permanently
stuck. I suspect there is an infinite loop when either all abilities are
already added or there are no compatible abilities.  Making unit tests
to verify that those do not create infinite loops.