Added implementation

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.