Avoid unnecessary project check
Update key binding description

Latest Helm changes "C-x @" to "C-c r" to drop into root. This should be
updated in helm-projectile as well. Actual key binding does not need to
be updated because we reuse helm-find-files-map.
Merge pull request #455 from tuhdo/master

Update key binding description
Update indexing section in README
[Fix #372] Read the cache file when starting projectile-mode

This avoids the nasty scenario in which we try to read the cache
on (require 'projectile), before the path to the cache file has been
set.
Merge pull request #456 from tuhdo/master

Update indexing section in README
Add a missing or
Improve persp-projectile-switch-project

If we are already in the perspective corresponding the project which
we're trying to switch to invoke regular projectile-switch-project
rather than calling persp-switch which in that case is a noop.
Cache the value of `projectile-project-root`

Fixes #448
Add Dired other window for helm-projectile-find-dir

Also remove "C-d" key binding since we can simply press RET to enter
Dired in current window.
Merge pull request #462 from tuhdo/master

Add Dired other window for helm-projectile-find-dir
Merge pull request #461 from bastianbeischer/persp-projectile-switch-project

Improve persp-projectile-switch-project
Merge pull request #460 from Silex/project-root-cache

Project root cache.
[Fix #465] projectile--project-root should not affect project switching
Check if user wants cache first
Remove dead code
Better caching of projectile-project-root
Merge pull request #444 from Silex/master

Improve TRAMP performance
helm-projectile.el: rewrite `helm-projectile-define-key' to allow defining multiple keys

Rewrite `helm-projectile-define-key' to allow defining multiple keys. Then use
the enhanced macro to cleanup the code where `helm-projectile-define-key' are
being called repeatedly while defining multiple key bindings.

To illustrate, previously we have to write:

(helm-projectile-define-key KEYMAP KEY1 DEF1)
(helm-projectile-define-key KEYMAP KEY2 DEF2)
(helm-projectile-define-key KEYMAP KEY3 DEF3)

Now, we can clean it up to:

(helm-projectile-define-key KEYMAP
  KEY1 DEF1
  KEY2 DEF2
  KEY3 DEF3)
Fix helm-projectile-vc

Currently we cannot switch to a project using vc-dir or magit-status
because helm-projectile-vc cannot pass the selected project directory
into projectile-vc. This fix makes it simpler to switch to VC status
anywhere without depending on project root. helm-projectile needs its
own helm-projectile-vc command.

The change to projectile-project-vc also makes it much faster to switch
project because it does not need to compute project root when explicitly
supplied. Otherwise, there's a brief unnecessary delay.