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.
Merge pull request #470 from YorkZ/helm-switch-project

helm-projectile.el: rewrite `helm-projectile-define-key' to allow defini...
Merge pull request #468 from tuhdo/helm-projectile-vc

Fix helm-projectile-vc
Add file listing for sub-projects to Projectile

Add the ability for Projectile to automatically see sub-projects in a
project like Git submodule. It can handle cycle submodules (submodules
that can include itself as submodules and create a loop). The scenario
is described in details in function projectile-get-all-sub-projects.
Merge pull request #464 from tuhdo/master

Add file listing for sub-projects to Projectile
Update documentation

- Update README and ChangeLog and projectile-git-submodule-command
docstring.
Minor fix for retrieving submodules files

Use file-name-as-directory to convert a file to a directory, since it
is portable. The current implementation only works in Linux, as that's
exactly what file-name-as-directory does when it's in Linux.
Merge pull request #471 from tuhdo/master

Update documentaiton and minor fix for retrieving submodules files