Refactor the compiler arguments processing
Use CompilationDatabase from libclang
Use a context manager to handle working directory changes. Needs python 2.6.

Python 2.5 can be supported if we add the appropriate import from future.
Merge branch 'cdb_v5' of git://github.com/Arnaud-de-Grandmaison/clang_complete into cdb