feat(util/lp): add convenient access operators

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
chore(lp): 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): adding 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)
preserve(lp): adding pivot chooser and saving work
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): fixing 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)
feat(lp):  introduce tail_matrix conjugate one_element_on_diagonal too
implement solving_yB_equal_cb,  calculate entering column

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
feat(lp): add mps_reader,
 work on mps reader and general solver, debug stage_one

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
feat(lp): implement stage_one, improve the mps reader, implement  stage two, pass up with walgrind

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