Add Helm interface to switch project

This is different from simply setting `projectile-completion-system' to `helm'
which only enables projectile to use the Helm Completion to complete a project
name. This commit added new command `helm-projectile-switch-project', and bind
to "H" in projectile command map by default. The new command uses helm interface
instead of ido to switch project. The benefit of this approach is that on any
selected project we can fire many actions, not limited to just one action of
"switch to project", as in the case of using helm completion by simply setting
`projectile-completion-system' to `helm'. Currently there are only three
actions, namely "Switch to project", "Open Dired in project's directory" and
"Switch to Eshell", but will definitely add more in the future.

A new helm source `helm-source-projectile-projects' has also been added, and
this source has been added to `helm-projectile-sources-list' so that one can
also run `helm-projectile' to switch project.
Merge pull request #405 from YorkZ/helm-switch-project

Add Helm interface to switch project