ui.widget: Improves Performance of cleanData-Method (Issue #9546)

This is a fix for #9546
It increases performance of cleanData as demonstrated here: http://jsfiddle.net/r7buw/17/

(Pull Request meta: second try)
- CLA now signed
- Code is now hopefully in line with the Style-guide
- Improved method, so that it more specifically checks for the remove handler instead of just "events"
- Created a new fork with a branch for commit

`if ( events && events.remove ) {`