Support for Subversion

This adds a new VCS module called `svn.py` that uses [PySVN](http://pysvn.tigris.org) to gather information if the current working directory is part of a Subversion repository.

As there is no clear definition of a branch in Subversion, this module uses the difference between the actual (remote) repository root URL and the URL of the checked out copy as the branch name. If the Subversion repository follows the usual conventions, this would lead to names like `/trunk`, `/branch/feature/foo` or `/tag/1.0.1`. The currently checked our revision number is displayed after the branch name (as in `/trunk:r1234`). If the local copy was checked out from the remote repository root URL, the branch name will simply be `/`.
Should be using full name here: `'subversion'`, not `'svn'`. With this change all module names will be the same as package names in almost every linux system (for some reason there are git, mercurial, subversion and *bzr* packages even though full name is `bazaar`).