Update find matching test funcs.

When candidates are more than 1, look up to the dirnames and try to find best matched file.
In this way, we can take advantage of dirname based namespace rules.
If the best matched file is not clear, it behaves like it did.
Add tox.ini to projectile-project-root-files
Fix ack binary check and update docstring
Merge pull request #513 from tuhdo/helm-projectile-ack

Fix ack binary check and update docstring
Cleanup `helm-projectile-file-actions' definition

Previously, `helm-projectile-file-actions' was defined by copying and pasting
the actions defined in `helm-source-ffiles' first, then modifying a few entries
in the copied list. This is boilerplate and not flexible. For example, if a
function name gets changed in Helm, this list will have to be changed
accordingly.

By adding the function `helm-projectile-hack-actions', we are now able to hack
directly on a dynamic copy of the original list in Helm, so that function name
changes in Helm will less likely to break helm-projectile.
Autoload projectile-kill-buffers
Merge pull request #517 from purcell/patch-1

Autoload projectile-kill-buffers
Make projectile-replace's param optional
Fix helm-projectile-find-dir

The command is fixed to populate a list of directory at init time, not
when we want to get a list of candidates. Otherwise, the command usually
presents an empty list.
Merge pull request #518 from tuhdo/master

Fix helm-projectile-find-dir
Allow helm-projectile-ag to ignore

helm-projectile-ag now can also ignore files and directories based on
these variables:

- grep-find-ignored-files
- grep-find-ignored-directories
- projectile-globally-ignored-directories
- projectile-globally-ignored-files
Add customization to inhibit non error echos
Merge pull request #500 from thomasf/verbosity

Add message verbosity level customization
Merge pull request #510 from chmouel/patch-1

Add tox.ini to projectile-project-root-files
Merge pull request #514 from YorkZ/helm-switch-project

Cleanup `helm-projectile-file-actions' definition
Merge pull request #467 from kayhide/master

Update find matching test funcs.
Fix the order of entries in `helm-projectile-file-actions'
Merge pull request #526 from YorkZ/helm-switch-project

Fix the order of entries in `helm-projectile-file-actions'
[Bug fix] When cache is empty, do not add file

Because adding a file will make the cache non-empty with that only file.
The next time a command like `projectile-find-file` is invoked, only
that single file is displayed. When the cache is empty, do not add file
but retrieves all project files first.

Also add a test case for testing projectile-cache-current-file function.
The test case contains two tests:

- One for testing when cache is initially empty. When
  projectile-cache-current-file is called, cache is expected to contain
  every project file. The message "Empty cache. Projectile is
  initializing cache" will be printed out.

- One for testing when cache exists. In this case, it should return full
  cache.
Merge pull request #519 from tuhdo/master2

[Bug fix] When cache is empty, do not add file but initialize instead. Also add a test case.