Fix default notifications timeout

If no particular timeout is specified (this is indicated using the -1
value), the notifications daemoun must use its default value.

NotificationBubble alters the timeout when it is changed if it's
negative, however this is not happening because I see bubbles disappear
so fast.

To fix this we set the expirationTimeout property and make timeout a
function that returns the desired value.

Issue: #26