Triggering syntastic error display more often
Don't run the plugin when in diff mode
Making sure the syntastic variable exists
Adding option for custom extra rpath
Smarter updating of clang diagnostics display
Not parsing empty files anymore

Also, not sending non-clang supported files as unsaved buffers when a completion
is requested.
Adding a TODO I don't want to forget about
Adding the cursor identifier on InsertLeave

This should help catch cases where the user jumps to an identifier and then
edits it in place; we want to add that new ident to the db ASAP because the user
may want to have it completed soon.

Still, we're not perfect. If the user just deletes chars with 'x' or 'd' in Vim
and therefore never even enters insert mode we are obviously not going to pick
up that identifier until the next full file sweep.
Protecting diagnostic access with mutex
New system for specifying clang flags

Now the .ycm_clang_options file is a python script that needs to implement our
API. This enables the user to do arbitrary things when computing flags.
Protecting ALL clang access with a mutex now
The clang options file now ends in .py
Adding a .ycm_clang_options.py file for YCM
Removing some unused code + fix for crash

The crash was caused by clang_disposeString/getCString not checking whether the
given CXString has NULL data members. Fixed with a workaround.
Refactored variable defaults setting

Now the all use the same style.
Setting updatetime to 2000 if user allows
Check for python on plugin init
Showing function args right next to name now

The completion text in the menu is different. We used to just show the func name
in the "main" part of the completion menu, now we show the full signature
without the return type (which is shown on the right)
clang options file uses more succint dict syntax
Initial, rough version of completer separation

We are trying to build a nice plugin-oriented architechure for loading varios
completer objects.