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.
True, but I didn't want to put all seven of these function calls into separate conditional blocks. But if it's only ``setvartype!`` that isn't uniformly supported, I guess I can special-case it.