Overhaul

re-wrote how the main program interacts w/ each class and how to call
the Solve() function.  Also created a helper class that will be used for
concepts that are used more than once (such as Palindromes, Sums of
digits, etc. . . )