Move notification id handling into KNotification class
Currently the notification ids are created/tracked in notificationmanager. Ids are only assigned after notify has been called. This has lead to lots of confusion and ugly workarounds like !19 (closed).
By moving the handling inside the KNotification class and assigning a good id at construction we ensure that we have one from the start.
Having a notification id of -1 is still a relevant special state at the end of a notification's lifetime. That should be disentangled in a future patch.