Added necessary plumbing for tests for dependency solver
style: clean up PR #56

  * Give longer, more helpful names in some cases.
  * Avoid deeply nested case-expressions when do-notation can be used.
  * Consistent list-literal style.
cosmetic: move things around to try to make file easier to navigate
Fixed style issues
Removed unnecessary "exposed modules" entries from .cabal file
Merge pull request #57 from ddrone/solver-test

Added necessary plumbing for tests for dependency solver