Use sparse matrix
Make matrix multiplication faster
Improve mult
Fix hlint complaints
Switch from Writer to ReaderT

Instead of accumulating the linear program in memory as a list of
strings, output it to a temporary file that is given to lp_solve as an
argument. This helps to save a lot of memory and is slightly faster.
Reduce code duplication in LPSolve
Remove some do notation from LPSolve
Simplify contraint matrix creation
Disable profiling build by default
Relax dependency on base
No extensions are actually used
Update README
Do not delete linear program automatically
Fix weird newlines in linear program
Use system temporary directory