Disabling plugins in depends-order

This commit disables/unloads plugins in their depends-order. So far, plugins were disabled in random order.
Example: _**A** depends on **B**_
**A** uses a MySQL connection which is handled by **B**. If **B** would be disabled first and **A** uses the MySQL connection in their onDisable() it would generate an exception.

This commit fixes this problem by checking the dependencies and disabling the plugins in logical order.