Add multithreading support for sat solver.
Remove bug in sat implementation.
Seperate multithreaded from singlethreaded example of sudoku.
Add docstrings to sat solver.
Remove unnecessay copy in sat solver.
Separate check from thread queueing.

Reasons:
- faster execution but greater variance from upper bound.
Update README.md
Update README.md
Update README.md
fixed the parallel FlatCNF-based solver implementation, but there's still some race conditions with the queue
flatcnf temp commit with a new queue implementation
Revert "flatcnf temp commit with a new queue implementation"

This reverts commit 37b1085fc17b1c617ed045c74cd0b2a15c7f5410.
quick flatcnf code cleanup
merged from master
Merge branch 'master' of https://github.com/urska19/LVR-sat into flatcnf
updated automated tests and README for flatcnf
remove useless test file in flatcnf