[Vim/YCM] Identify ObjC and ObjC++ headers.

Objective-C and Objective-C++ headers were all being treated as plain
C++ files (with lots of syntax errors). This change adds .m and .mm to
the list of extensions that our YCM config looks for to guess a header's
language, and refactors the search to use Ninja instead of looking for
files on disk.

It also adds more tests for Obj-C{,++}.

BUG=

Review-Url: https://codereview.chromium.org/2474243002
Cr-Original-Commit-Position: refs/heads/master@{#430351}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: d6a698265e842542c84ac10e7cdd07f356575194
3 files changed