feat(util/lp): adding lp_core_solver

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

Signed by Lev Nachmanson (levnach@microsoft.com)
preserve(lp): adding pivot chooser and saving work
feat(lp): enabling adding and removing columns at the end of the sparse matrix
save(lp): bootstrapping LU

Signed by Lev Nachmanson (levnach@microsoft.com)
feat(lp): transposing sparse matrix rows
fix(lp): fixing a bug in a row transpose
feat(lp): swapping sparse matrix columns
save(lp): adding debug facilities to matrices
save(lp): debugging factorization

save(lp): facotorization tests look ok
swaps(lp): implicit swaps work
save(lp): in the middle of replacing column

fix(lp): fixing a memory handling bug,  introducing tail_matrix
 conjugating one_element_on_diagonal too,
 lu factorization works modulo degenerated cases
lean(lp): fixing the release build

lean(lp): adding a test with all_permutaions

style(lp): fixing the formatting and using rand_r instead of rand,
 solving_yB_equal_cb,  calculating entering column

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
save(lp): saving work

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

dev(lp): two simple examples pass, coding parsing mps files

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
dev(lp): adding mps_reader,
 working on mps reader and general solver, debugging stage_one

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
save(lp): stage_one, improving the mps reader, both stages seem working, passing up with walgrind

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
save(lp): working on a pretty printer, small samples are passing, and pretty_printer works, implemented scaling

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
save(lp): debugging precision, speeding up by sorting columns

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
save(lp): fixing bugs in removing redundand rows, refactoring lp_revised_solver

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
save(lp): solving correctly acc-tight5.mps, handling correctly redundant rows,  introducing sparse_vector and using it in the lower eta class - speeding up 3 times, , making zero() and one() of double inline, switching to static_matrix in m_A of lp_revised_solver

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