faster aut_complete/3, and thus faster complement and validity check

Example, previously (with run/1 shown in preceding commit):

   %?- length(_, N), run(N), false.
   %@ 0.
   %@ % 1,856 inferences, 0.001 CPU in 0.001 seconds (95% CPU, 2435696 Lips)
   %@ 1.
   %@ % 14,301 inferences, 0.003 CPU in 0.003 seconds (96% CPU, 5573266 Lips)
   %@ 2.
   %@ % 68,409 inferences, 0.011 CPU in 0.011 seconds (99% CPU, 6108492 Lips)
   %@ 3.
   %@ % 355,282 inferences, 0.057 CPU in 0.062 seconds (91% CPU, 6254745 Lips)
   %@ 4.
   %@ % 2,270,713 inferences, 0.365 CPU in 0.571 seconds (64% CPU, 6222666 Lips)
   %@ 5.
   %@ % 19,333,314 inferences, 3.101 CPU in 3.763 seconds (82% CPU, 6234178 Lips)
   %@ 6.
   %@ % 212,289,471 inferences, 34.670 CPU in 45.123 seconds (77% CPU, 6123214 Lips)
   %@ 7.

Now:

   %?- length(_, N), run(N), false.
   %@ 0.
   %@ % 1,878 inferences, 0.001 CPU in 0.001 seconds (96% CPU, 2432642 Lips)
   %@ 1.
   %@ % 14,467 inferences, 0.003 CPU in 0.003 seconds (99% CPU, 5622620 Lips)
   %@ 2.
   %@ % 67,623 inferences, 0.011 CPU in 0.011 seconds (99% CPU, 6143636 Lips)
   %@ 3.
   %@ % 328,790 inferences, 0.052 CPU in 0.056 seconds (92% CPU, 6300228 Lips)
   %@ 4.
   %@ % 1,785,375 inferences, 0.279 CPU in 0.292 seconds (96% CPU, 6403256 Lips)
   %@ 5.
   %@ % 11,224,834 inferences, 1.676 CPU in 1.846 seconds (91% CPU, 6697203 Lips)
   %@ 6.
   %@ % 80,224,201 inferences, 11.670 CPU in 12.609 seconds (93% CPU, 6874453 Lips)
   %@ 7.