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.
I fixed joehuchette/CPLEX.jl#18 so ``setvartype!`` should work without the special-casing. Does Clp support this? I'm not quite sure how seamless switching between Clp and Cbc is.