Fix inaccurate matching

For more precise result, we need an exact match of extension. If
extension list contain extensions that are substrings of other
extensions not in the list, wrong candidates are pulled into the result
list. For example. consider the case .c <-> .h. Because .h is part of
.hpp, other files with .hpp are also returned. This is fixed with $
sign - the end of line regexp.

When switching from Gemfile.lock to Gemfile, the extension of other
files are empty. Currently, empty extensions got a dot "." added to the
end of other file candidates, leads to nil result.
Add more extensions for .h, since it is used in many languages
Add a test case for projectile-get-other-files