Move available_sovlers to Numberjack.solvers package.
Move external SAT solvers for new layout.
Latin Square example

Demonstrates a mixed SAT encoding and the ability to write a model to CNF, LP, or MPS files.
Example of mixing the SAT encoding.
Record time to load the model into the solver.
Fix output_cnf() under new solver structure.
Add ability to shuffle the CNF output.
getNumVariables and getNumConstraints for SAT and MIP.

For MIP getNumVariables is not so simple as we're currently not tracking how many variables are being created in the solver. For now it just returns 0.
Two more predefined SAT encoding configurations.
Simple example of binary branching DFS.