[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.