Make it easy to get to an extension instance from a class.

It's pretty common for extension code to try to get the instance of the
extension from places where the instance isn't passed. The common
pattern is to import the extension class, the extension manager, and to
do a fetch. While that works, it's annoying.

Since an extension can only be instantiated once, it's pretty safe to
store a handle to the instance on the class. Now,
ExtensionSubclass.instance will point to the instance when the extension
is enabled.

Extensions may still need to deal with circular imports to get the class
(depending on where it's calling this from), but that's not any
different from before, and it's much nicer than dealing with the
extension manager.
Add a `settings` attribute in SettingsForm.

SettingsForm is a specialization of SiteSettingsForm, which provides
a `siteconfig` attribute. This is kind of misleading to use, though, so
instead, we'll provide `settings`, which is the same thing but with a
better, more accurate name.