Make JSExtension available through reviewboard.extensions.base.

This exposes JSExtension through reviewboard.extensions.base so that
extensions can make use of it.
Switch to using Extension.initialize in docs and examples.

Extension.initialize is a convenience around overriding
Extension.__init__, and we want to encourage its use. This updates our
docs and the extension generator's example output to use this instead.

There's also some improvements for the formatting of the generated
extension.py file, particularly when not showing a dashboard link.
Plus, an example metadata variable with Name and Summary.