Do not call Clang if earlier call had failed to return any completion results

Calling Clang is super expensive and therefor should be avoid whenever possible.
If earlier call to Clang had already failed to return any completion results,
there's no point to keep calling it again and again only to fail again and again
like what it was doing before this optimization. For example, if Clang didn't
find any completion results after we typed "foo", it will not find anything from
this point on, i.e., if we keep typing, Clang will not find anything, and
therefor we really don't want to call Clang after we have typed foo.