extensionSystem: Always disable multiple extensions in reverse order

Since disabling an extension will lead to disabling and re-enabling all
following extensions in the list, always disable multiple extensions by
looping through the list in reverse order.

This lowers the execution time of the event handlers quite a bit if many
extensions are installed.

Thanks to Philippe Troin for identifying the problem and proposing the
initial patch to change the extension order when reloading.

Fixes GNOME/gnome-shell#177

6 jobs for !96 with extension-system-fixes in 7 minutes and 59 seconds (queued for 2 seconds)
merge request