remove the need for innerXXX methods

Refactor the TimeoutSolver and TimeoutAssumptionSolver so
that they no longer use innerCheck methods. We now only
create solver as subclassing Solver or IncrementalSolver and
implementing the interuptible trait, and we can turn them into
TimeoutSolver at instantiation time with a mixin.