fix(lp): fix bug in sparse_matrix

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
test(sparse_matrix): improve sparse_matrix tests

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
chore(lp): adjust style

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

chore(lp): adjust style and fix compilation errors with new build

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
refactor(lp): move lp to util

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
feat(util/lp): add convenient access operators

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
chore(lp): fix the code style

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>

chore(lp): coding style

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
test(lp): add a test for measuring the matrix access operator performance

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
feat(lp): add overload for operator = in the class sparse_matrix::ref

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(lp): add operator []

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(lp): fix sparse_matrix::ref::operator=

Signed-off-by: Leonardo de Moura <leonardo@microsoft.com>
feat(lp): add lp_core_solver

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
feat(lp): start using numeric_traits::zero

Signed by Lev Nachmanson (levnach@microsoft.com)
feat(lp): add pivot chooser
feat(lp): enable adding and removing columns at the end of the sparse matrix
feat(lp): bootstrap LU

Signed by Lev Nachmanson (levnach@microsoft.com)
feat(lp): transpose sparse matrix rows
fix(lp): fix a bug in a row transpose
feat(lp): swap sparse matrix columns
test(lp): add debug facilities to matrices
feat(lp): implement implicit swaps
Signed-off by Lev Nachmanson (levnach@microsoft.com)