general module for all iterative solvers
add gauss seidel and weight jacobi to solvers

refactored solvers to make more efficient and make adding new ones easier