Use proper Helm interface for Projectile commands

Since we already have sources for the generic command helm-projectile,
we could reuse those sources and create commands for normal Projectile
commands. The reasons:

- Setting projectile-completion-system to 'helm is not enough, because
it only uses Helm interface but does not provide useful Helm features
like those in helm-projectile.

- In large source tree, open helm-projectile could be slow because it
  needs to open all Helm sources. In this case, individual commands are
  more optimal.

This change is not intrusive: users can choose to use it or not with
helm-projectile-on command, and during using the bindings, users can
turn off with helm-projectile-off.