Add timeout to user and group deletion notification.

Added timeout in DeleteHandler to auto-delete after a delay.
    
Fixed issue where OC.Notification.hide() was called twice in a row when deleting multiple entries, causing the second notification to disappear.
Fixed issue where "undo" click event handler was registered multiple times when calling setNotifications() twice.
Added JS unit tests for the DeleteHandler class.

Kudos to @blizzz for writing DeleteHandler in the past as a separate class and make it easy for me to write unit tests!

Note: I had to include @jancborchardt's fix (https://github.com/owncloud/core/pull/11018) to be able to develop and fix. 

Please review https://github.com/owncloud/core/pull/11018 then review this one here.

To test:
1) Create several users in the users page.
2) Delete one user and check the network console.
3) After 7 seconds you'll see a server request and the user is deleted.
4) Delete several users in a row, the notification should show the last one and the previous ones are auto-deleted (as before, but notification was broken and I fixed it here)