Completion improvements

Hello!

I hadn't been satisfied with the response time of completions, so I tried to find some obvious areas where performance was an issue.  I had also noticed that company-mode seemed to be more responsive/less laggy than auto-complete.

There were some big performance issues in the process filter, as well as a particularly bad bug in rtags-ac that caused `rtags-diagnostics` to be run each time completion started (`ac-init`) instead of just the first time it was called, before diagnostics had been started.

The results of these changes is a *much* smoother completion experience for both completion engines.  The rtags-ac bug fix also brings it on par with company-mode again.  rtags-ac also now uses the new `rtags-completions-hook` to restart completion when the process has finished receiving all candidates, giving the same feeling users of emacs-clang-complete-async may be familiar with.