Refactor code and add a test case

`projectile-get-other-file` becomes `projectile-get-other-files` that returns a list of candidates. This is also convenient for testing and make code cleaner. There should be no side effect in it.