python3ized a bit more; added notification timeout

Not much work had to be done to get it to run properly in python3 (yeah it's still python2-compatible)
Unfortunately CherryPy still has some issue with the encoding/decoding stuff of `_notification_header` and `_notification_description`, which throws an exception. I fixed it on my copy by just removing the `.decode().encode()` parts of both lines, but I'm guessing you put those in to stop unicode notifications getting garbled when android sends them?

Also, notifications were disappearing before I got a chance to see them. I like having mine be persistent and not disappear until I click them, so I added a config option to set the timeout for notifications.