Making the DRUP class take more responsibility

This allows for way less code, and may actually be faster, too.
Removing double semicolon
Cleaning up clause-linking in Simplifier
Using helper function in addBackToSolver()
Cleaning up maybeEliminate() in Simplifier
Further cleaning up maybeEliminate()
A bit more cleanup around maybeEliminate()
Extended resolution inside gatefinder should not limit var-elimination
Renaming function, cleaning up another function, all in Simplifier
New solution extension
Adding new solution extender
Better verbose printing
Less mess around addHyperBin() for 3-long clauses
More printing for prop_full debug
Adding function to print the trail
For resolution verbosity, print the trail before the resolution
Actually, OK can never be set to false at this location
Making sure all propagation has gone through before calling search()
Re-writing search() to fix bug when time-outing
Using functions to carry out adding of the OTF subsume clauses