Lots of refactoring and haddock improvements. SAT no longer builds on IO