Merge pull request #25 from sabottenda/code_completion

Add code completion
Merge pull request #26 from sabottenda/compiler_detection

Use specific clang compiler for test
add sample compile database which is a part of LLVM build results
add CompilationDatabase
disable mapped source functions in CompilationDatabase

clang_CompileCommand_getNumMappedSources and clang_CompileCommand_getMappedSourcePath and clang_CompileCommand_getMappedSourceContent functions are introduced from clang 3.4 but debian packages of libclang don't provide these functions even if offical snapshot packages.
If you build LLVM/Clang from source, you can use these functions.