Don't call SUClearLog() unless logging something

Don't delete the log file and log app name to it when only checking for
updates - this is something done frequently, on many apps' startup.
Instead, clear the log before writing the first entry to it, so that it
stays untouched if there's nothing to add to it.

Log the application name before the first "real" log entry, instead of
doing it unconditionally every time checkForUpdatesWithDriver: is called.
Merge pull request #456 from vslavik/defer-SUClearLog

Don't call SUClearLog() unless logging something