Fix recurring errors when a non-existent package is disabled

Two problems:
* `PackageManager::activatePackage` throws an error when disabling a non-existent package. It should probably just reject its promise.
* `Config` observers get into a bad state when callbacks throw exceptions.

Fixes #4721
I don't think we usually wrap things like this, we just leave specs with long lines unless using `"""`