Ordering of 3-long clauses' literals is now a separate function

This makes the code much cleaner
Using strongly typed enum for restart type
Removing superfluous comments
Using typed enum for Elimed type
Much better naming of .elimed -> .removed

Because the variable has been *removed* not necessarily eliminated
Variable is not necessarily elimed, but removed -> rename type accordingly

This is part of a general renaming to make the code more sane to read
Renaming Removed::varelim to Removed::elimed

This is more sane
Polarity -> PolarityMode

It's storing the polarity pick mode, NOT the polarity itself
A better name for what type of clause caused the conflict
No need for learnt clause size distribution printing

It was disabled, but really, it's not useful, it's too complicated and
large when done well
Using range-based loops
No need to keep state that we need to re-add clauses

That's kept by 'removed' type of variables
Clearing up meaning of the code
Removing a potential bug -- this takes a lot of complexity away

And only incurs a very small penalty
Removing useless variable
Cleaning up code

None of these complications were necessary
Better printing of what is going on
Indentation was wrong, fixing
Printing was off by one
More comments