Remove a bunch of redundant functions to turn on/off projectile
Restore projectile-on as we actually need it
[Fix #406] Add the ability to ignore buffers by name
Remove projectile-on

Using projectile-mode directly should yield the same result.
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
Move definition of `helm-source-projectile-projects', no real change
Don't use Ido to select files after selecting project using Helm interface
Merge pull request #409 from YorkZ/helm-switch-project

Helm switch project
(helm-source-projectile-projects): Add keybinding hint for "Switch to project" action
Add action for `helm-source-projectile-projects' to fire `vc-dir' or Magit
Sanitize by defining macro `helm-projectile-define-key'
Merge pull request #410 from YorkZ/helm-switch-project

Helm switch project