support infer()

this is a first cut at supporting inference of RHSs

CandidateMap.h and .cpp became basically empty as a result of this change so I eliminated them

there are some name changes that I didn't do, in interest of keeping the size of the change smallish, such as changing the CandidateMap into perhaps Candidates or CandidateList or something

also there may be some files that change name, but again I wanted to keep the diff manageable

Priority is gone, replaced by some code that counts dups in SolveCandidateMap()
This could be a separate commit, but not too important.