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 seems unrelated to your other changes. Perhaps we can put this under a command line flag. Or drop it if it isn't important enough?