Don't break production servers if an extension cannot initialize.

If an extension raises an exception during initialization, it can take
down a site. This can be useful to see on a developer install, in
order to help fix these problems, but it's pretty bad when a production
site goes down. Instead, we want to just skip loading the extension.

This is just one step of the way toward better sandboxing. Ideally, we'd
be able to mark the extension as having errors, and see that in the
extension list with some meaningful information, but that requires more
plumbing.
Add a signal to notify when an extension's settings are saved.

A pattern with extensions was to have an extension's SettingsForm
subclass call into the Extension when the form saved, in order to
operate on the new values. However, that only really covers when
SettingsForm saved, and wasn't really the best way to do things.

This change introduces a new signal, settings_saved, which is emitted
whenever an extension's settings have been saved. Extensions can listen
to this, with 'self' as the sender, in order to operate on any new
settings.