Use depth-first scan for eliminating partial solutions instead of breadth-first
Use depth-first scan for eliminating partial solutions instead of breadth-first

This reduces the peak number of lists in-memory from 2^k to k, and enables the
solver to eliminate most duplicates before it has instantiated the full set of
leaves.

aniemerg/zcash,aniemerg/zcash,aniemerg/zcash,aniemerg/zcash,bitcoinsSG/zcash,bitcoinsSG/zcash,bitcoinsSG/zcash,CTRoundTable/Encrypted.Cash,bitcoinsSG/zcash,aniemerg/zcash,CTRoundTable/Encrypted.Cash,bitcoinsSG/zcash,bitcoinsSG/zcash,CTRoundTable/Encrypted.Cash,CTRoundTable/Encrypted.Cash,CTRoundTable/Encrypted.Cash,aniemerg/zcash,CTRoundTable/Encrypted.Cash