require library f

Functions from that library are used
in `projectile-dirname-matching-count'.
[Fix #542] Ignore all errors when getting files in sub-projects

To ensure projectile-current-project-files is still functional, we
should just consider getting sub-project files optional bonus. If
Projectile fails to get any sub-project files, just ignore it.
Use correct help function for displaying help

Use helm-ff-help-message instead of helm-find-file-help-message.
Merge pull request #544 from tuhdo/helm-projectile-help-message

Use correct help function for displaying help
[Fix #545] Retrieve sub-projects correctly and efficiently

Initially, the function projectile-get-all-sub-projects check for cycles
in sub-projects and terminate it early. Unfortunately, this approach
ignores further sub-projects down the source tree. Since using the
command "git submodule --quiet foreach 'echo $name'", it does not output
sub-project cycles like ../../bundle/html-bundle anymore, we can safely
ignore this check. We now expect external commands to return submodule
properly.

Also fix a bug that caused duplicate sub-projects. When there's no more
submodule, simply return nil.
Merge pull request #535 from tarsius/require-f

require library f
Merge pull request #548 from tuhdo/helm-projectile-help-message

[Fix #545] Retrieve sub-projects correctly and efficiently
Merge pull request #543 from tuhdo/ignore-all-errors-sub-projects

[Fix #542] Ignore all errors when getting files in sub-projects
Merge known-project lists from multiple processes
Merge pull request #515 from thomasf/issue/bbatosv/506-known-projects-merge

Merge known-project lists from multiple processes
Refactor cache predicates for `file-exists-p'