Optimize signal handler for unpublished story notifications

Save a database hit by only checking for existing notifications when a
story isn't newly created.

This also helps avoid a database hit when looking up the story translation
to create the string representation of the story in the ``DoesNotExist``
exception message in Django 1.5

Addresses #580, #660