Replace call to vim.eval/command to vim python API.

This is easier to read, and may be a bit faster.
Use the 'with' syntax with the libclangLock.

This removes the .acquire() and .release(), and avoid potential lockups
if the code wasn't guarded by try catch.
Fix indent.
Fix initialisation of the compilation database.

If g:clang_use_library wasn't set in the .vimrc, the use of compilation
database would generate an error.
Merge https://github.com/Rip-Rip/clang_complete