put BacktrackingSolver into separate file;
generic trait for logging solvers;
also: comment all the things
tests for BacktrackingSolver