Indexing feature entirely reimplemented in C++

Client-Server-like request-based interface.
New request parsing system
FindDefinition entirely in C++
Update entirely in C++
Support for translation units reparsing
Fixed memory leak
Use Jsoncpp to serialize vectors for storage into the SQLite DB.
Unified syntax for binding arguments to SQLite statements.
Support for unsaved files.
New code-completion feature
Bundle jsoncpp's sources.
Check for the libsqlite3 dependency
Fixed bug in Sqlite::Statement::bind(std::string)
First client-server version on par with the old features
Old python code cleanup
C++ implementation of "grep"
Use UNIX domain sockets
Documentation and cleanup
Look for symbol references in the database instead of always reparsing source
files

- much faster
- can look across TUs
- can't find templates definition
- index possibly outdated
Use boost::asio

The standalone version of asio packaged in Debian caused problems with newer
versions of clang++ with libc++.