#27241 Improved QT checks beyond checking has_ui

If the shell and/or shotgun engines have not been updated recently, it
is possible for the new 0.15 core to generate QT errors because the
has_ui method is implemented incorrectly in the engines. We need to add
extra error trapping here to ensure there is a graceful step-down in
that case. 

Closes #114