Attempt to fix _ #39 (server side only)

Looks like when multiple notifications arrive at the same time, the
notification daemon may sometimes not be able to read the icon from the
previous DBus request before icon_cache file gets rewritten for the next
notification.

The change should fix it by introducing a unique icon cache file name
based on the icon data (i.e. file contents).

As a bonus, no additional disk write is made if the file already exists.