[core] add imports for abstractmethod, abstractproperty, etc.
[algorithms.timestepping] first try on a TimeStepperInterface
[discretizations] add assertion in with_
[discretizations.nonlinear] use a provided TimeStepper