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.
Clp doesn't currently support ``setvartype!``, but I can add it. There is currently no switching between Cbc and Clp.