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 `/`.
You should not use `u""`: first, almost everywhere single quotes are used. Second, there is `from __future__ import unicode_literals` at the top.