RFC: Try to avoid try

Wherever possible, replace try/catch blocks with method_exists or other logic. I think it's still necessary for hot starts, getting Farkas' proofs/infeasibility rays, and getting solution information.
In which case we can't guarantee that a MIP --> LP problem modification will work as expected, so I think that's reasonable.