Move notification-data releated function to separate file

Additionally replace glib-specific data types with standard ones.
Introduce structure to hold received notifications and few helper functions
Add data struct to actually hold all notifications
notification: Add forgotten app field
Fix app handling
notification: new: Reuse serial id, if passed non-zero

We need this functionality to be able to create temporary
Notification structs without affecting state of the whole
program (without calling get_next_id, that is).
data: Implement remove_if and extend it
data: Add apply family of functions

Add set of functions being able to work on Data elements under its
lock.  We need this (at least) to update/replace our Notification
structs if we receive such a request.
notification: Add function to pretty-print Notificaction structure
main: Collect incoming notifications for later processing