Merged code to manipulate version control systems

Supports git, hg and bzr.
Support for extracting metadata from version control systems

  * Makes fsobject aware of vcs.
  * Makes directory get vcs status data when loading content.
  * Adds a config option to enable/disable the vcs info feature.
Displays version control data on browser column

  * I have restructured BrowserColumn._draw_directory. Hopefully it is easier
    mantain now. Simplified horizontal space computations, etc.

  * Displays two symbols on the right of every entry, showing local status, and
    status regarding the remote vcs repo.

  * Added the necessary context to be able to change colors for individual
    symbols from the colorscheme.
Displays version control data on the status bar

Data displayed: branch, repo status and summary of last commit.
Adds config settings and documentation for the vcs feature
Added version control system related commands

Adds commands to stage, unstage changes, and to display diffs and logs using the
embedded pager.
Rebuilt manpage
vcs.hg: fix python2 ImportError when importing configparser
vcs.vcs: remove __init__ from VcsError(Exception)

This breaks in python2.  Leaving out __init__ in subclasses of
Exceptions is usually fine.
fix vcs log errors on empty repos
Added 'unknown' remote vcs status
Handle VcsError when scanning dir. Don't raise
Merge branch 'master' into vcs
move ranger/vcs/* to ranger/ext/vcs/*
config/rc.conf: Use only "git" vcs_backend by default
replace vcs_backends setting by vcs_backend_git, etc.

The variables vcs_backend_git, vcs_backend_hg and vcs_backend_bzr have three
possible values: disabled, local (only local info) and enabled (local and remote
info).
config/rc.conf: typo in "set vcs_backend_hg disabled"
ext.vcs.vcs: typo s/true/True
setup.py: s/ranger.vcs/ranger.ext.vcs/
Merge branch 'master' into vcs