changed list sieve so that it doesn't sort the vectors and tries to use them
all so that the algorithms can be compared more fairly. Otherwise, list sieve
will have a bias towards a lower run time and higher space cost.

Also, now they both add the new vector to the beginning of the list. This is
so that we can reduce using what is likely to be a short vector first instead
of a longer vector. Changed this from pushing to back on bs_sieve and from
adding in a sorted manner on ls_sieve