Replace Syntastic integration with native YCM code

I've removed the Syntastic integration and replaced it with native YCM code. Everything (well, almost) that Syntastic used to provide for us is now directly provided by YCM. All of this work is on the `no-syntastic` branch.

For the rationale on why this was done, see [the new FAQ item](https://github.com/Valloric/YouCompleteMe/tree/no-syntastic#why-did-ycm-stop-using-syntastic-for-diagnostics-display).
For the docs on the new features, see the [new section in the User Guide](https://github.com/Valloric/YouCompleteMe/tree/no-syntastic#diagnostic-display).

If you installed YCM using Vundle, here's how to switch to the new version:

```
cd ~/.vim/bundle/YouCompleteMe
git pull
git checkout --track origin/no-syntastic
./install.sh --clang-completer
```

The direct benefits of this move are:
- much faster diagnostic display,
- no crash bugs caused by Syntastic-Vim interaction
- the annoying Syntastic-induced Vim flickering should be gone,
- we can (and do) now highlight whole regions of text related to a diagnostic instead of just one character.

There are several new options present; they map directly to the same concepts (and similar options) from Syntastic. You can toggle the display of signs in the gutter, text highlighting, automatic location list updating and diagnostic echo. See the docs for details.

I've tried to do this in the most backwards-compatible way I know how. The new YCM options fall back to the similarly-named options in Syntastic if those are set. Same thing for the new YCM highlight groups.

IMO the only features that Syntastic has that the new YCM doesn't is error balloons (gimmicky so unlikely to be added) and the statusline flag (will be added in the future).

Please try this out and report any problems you find by opening issues on the tracker (mention that you're using `no-syntastic`).