Avoid variable shadowing, and flip tests around.
In the event a composite factor is returned in a factorization matrix, and the composite is not relatively prime to the cofactor, bail out. This is an improvement over the previous buggy behavior, which would probably never have been noticed because the factorization code shouldn't return something like that ever.
Remove shadowing of btop. New naming scheme for repeated uses: btop, ctop, dtop, etc.
Add listput_shallow for faster list-handling.
Minor speed improvements to Engel.