ENH: Add Python Subversion module

Create a basic module for working with subversion repositories, loosely
based on GitPython. This will help us to work with extensions which use
svn for their source control. (None of the existing svn Python bindings
I tried were useful.)
STYLE: "Expand" acronyms in documentation

Add a substitution for "CLI" to the SlicerWizard documentation to insert
a sphinx abbreviation where it is used.
ENH: Add svn support to SlicerWizard

Add support for subversion repositories to SlicerWizard. This covers
ExtensionDescription and several methods in Utilities (e.g. getRepo),
and should allow the Extension Wizard 'describe' and 'contribute'
commands to work with svn repositories.
ENH: Degrade gracefully if git unavailable

Modify SlicerWizard to attempt to gracefully degrade functionality if
either of the 'git' or 'github' packages are not available, in order to
make them "soft" rather than "hard" dependencies.
STYLE: Document SlicerWizard/TemplateManager.py

Add documentation for the public API of
SlicerWizard.ExtensionDescription. Also, make some minor code
improvements suggested in the course of writing the same:

- Allow clear() to take an optional name of a single attribute to remove
- Accept any object with a callable write() method as a stream in
  write()

Also, because we want to use it here, add a new reST role when
generating the documentation to create links to the Slicer wiki. (This
is useful because (1) it will allow us to later enhance the same to
select the appropriate version's documentation, and (2) the full links
are bloody long; way over our desired 80 character limit.)
STYLE: Improve SlicerWizard doc generation

Pass Slicer version and wiki version into SlicerWizard documentation
generation, and make use of the same. Add 'author' option and use as
required by the various documentation types, rather than each
duplicating the string (which was still set to "Author").

The way we arrange to communicate values into conf.py is a little
esoteric, but it works (and thus saves us from needing to make conf.py a
configured file), and seems to be the only reasonable way to pass
information from the command line to conf.py.
STYLE: Document SlicerWizard package

Add some (very basic) documentation of the SlicerWizard package. This is
generic documentation of the package itself, different from the already
existing documentation of individual classes and modules within the
package. In particular, add a short note that this is API documentation
and not documentation for users of the Extension Wizard (with a link to
that documentation).

Also, remove mention of "Extension Wizard" in summary documentation of
WizardHelpFormatter, to avoid implying it is only useful for that
purpose.