change or eliminate unnecessary tests for `nil`

Many places would fall back to the original type if
QSUTIForAnyTypeString() returned `nil`. As of the last commit, the
function now does this fall-back internally.

It also does checking for extensions, mime types, etc., so some calls
to QSUTIForExtensionOrType() were removed.