** Performance improvement **

-> improved performances and fixed the bug where the user couldn't deselect all in filtered mode
-> added the class multiselect-item to all plugin-specific items
-> fixed an incorrect CSS selector

Signed-off-by: Tyf0x <Tyf0x@users.noreply.github.com>
** Updated the clearSelection method to use deselectall() **
** Further performance improvement **

-> Now only filters the options to select if not all them have to be selected. This means to select all should be faster when there is no filter used.
** Bugfix **
Moving down the onChange callback

Moving down the onChange callback after this.updateSelectAll() allows to access the correct selected values during the callback.
Fix multiple divider on rebuild()

Divider was not removed on rebuild so each rebuild would add a new divider.
** Bugfix & selector performance improvement **

-> Fixed a bug where disabled options where incorrectly selected using the 'select-all'
-> Changed the jQuery .not() selector in favor of the css native :not() to slightly improve performance
** Bugfix **

-> The deselectall function was deselecting all options regardless of their visibility. It now takes it into account.
Update bootstrap-multiselect.js

Added Array forEach function for browsers that don't support EcmaScript5 (IE 8/9)
adding namespace to fix keydown event
Merge pull request #286 from conradfr/Fix-multiple-divider-on-rebuild

Fix multiple divider on rebuild().
Merge pull request #294 from Jorg10/patch-1

Update bootstrap-multiselect.js
Merge pull request #298 from wyze/keydown-namespace

adding namespace to fix keydown event.
Merge pull request #279 from Tyf0x/perf

** Performance improvement ** - based on thorst #268 contribution.
Merge pull request #285 from conradfr/onchange-move

Moving down the onChange callback
Updated example.
Merge branch 'master' of https://github.com/davidstutz/bootstrap-multiselect