added solver.py, general superclass interface to solvers