Rewrite indexer to traverse instead of matching

REVIEW: new
Some optimizations
Multithreading

- Index in multiple threads.
- It's possible to index everything from compilation database.
stupid web viewer
Ignore *.pyc files