chore(lp) : refactor lp_core_solver, fix the parser and add the test driver an option to search for min

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
fix(lp): avoid using explicit low bound in lp_core_solver,  use low upper bound at at zeros, use the new calculation of reduced costs

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
feat(lp) : implement harris double pass

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
feat(lp) : implement the steep edge strategy

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
feat(lp) : switch to calculating the pivot row when getting the reduced costs, implement approximated column norms : solve acc-tight5.mps for 12 secs

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

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
perf(lp) : speed up by creating an one_elem_on_diagonal_matrix instead of one_off_diagonal when possible

Signed-off-by: Lev Nachmanson <levnach@microsoft.com>
perf(lp) :  speed up by limiting the factorization tail growth

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