Recreate git.Repository() on each call

It appears that pygit2 has similar to mercurial’s issue with statuses (they are 
not updated) and needs to be regenerated on each call as well. Implies to index 
statuses only though, that is why I used to think pygit2 does not have this 
problem.
Added additional_key to memoization function

Fixes #29
Don’t raise an exception when encountered untracked file
Merged branches no-unknown-file-pygit2-exception local-cache git-repo
Also don’t throw on “Ambigious path”

Happens during the merge and when given directory name instead of filename
Merged branch no-unknown-file-pygit2-exception
Fixed _repo()
Merge branch 'git-repo' into local-develop
Spaces
Merge branch 'develop' into local-develop
Merge branch 'develop' of git://github.com/Lokaltog/powerline into local-develop
Revert "Addd “default_module” theme key support"

This reverts commit 78e54e0c840bb4a26e8c820b2f7327d11e313696.

Reason: does not work as expected

Ref #3
Added “default_module” theme key support.

Ref #3
Fixed highlighting when there are only 2 segments in theme

Here are two fixes:
- defaultdict makes it not throw KeyErrors.
- Replacing (False, False) with False makes it not throw vim.error (no color
  ctermbg=False)
Some documentation additions:

- Added notes about where common and extension-specific configuration is located
- Added common.paths config.json option description
- Fixed user-defined segments location found in segments section
- Fixed Themes/segments/module reference text
Fixed problems in mode segment:

- It was impossible to configure visual block and select block mode strings:
  JSON strings can contain neither raw control characters nor escape sequences 
  for them
- It was impossible to override only some of the strings:
  missing key generates KeyError exception, not IndexError
Merge branch 'develop' into local-develop
Merge branch 'few-segments-fix' into local-develop
Merge branch 'default_module-2' into local-develop
Merge branch 'mode-fixes' into local-develop