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.
widgets.console: Fix commands that open console in quick()
fsobject.directory: removed useless code in accept_file

the code "if hidden_filter in fname" assumes that hidden_filter is a
string, which can never happen since Directory.load_bit_by_bit converts
the string value to a regexp
fsobject.directory.accept_file: pass directory, not dirname

That way, the accept_file function can get whatever information about
the directory it needs.
fsobject.directory: check for temporary_filter

this can be used in commands which temporarily filter the directory,
without disrupting the user-defined filter.
Revert "api.commands: add updated_line handler"

This reverts commit 8a516820081a317b85c6c2ced7901a4000130bf5.

The commit introduced a feature that already existed; you can simply run
fm.open_console() to change the current line.

Conflicts:
	ranger/gui/widgets/console.py
Revert "config/commands: added :scout command for faster ":find"ing"

This reverts commit f24817eece19aafba5dd7399c2dd3c212dacf29b.
Added :travel and :narrow commands
core.actions: Don't break "uq" key on fm.reset()
fix vcs log errors on empty repos
Added 'unknown' remote vcs status
Handle VcsError when scanning dir. Don't raise