2805b0fe85
Everything that needs access to filetype_map_ has been split into a new class called IdentifierDatabase. This class is thread-safe. Previously, multiple threads could access filetype_map_ at the same time, some reading things from it, others writing to it. WTF was I doing? My best guess is that I introduced this vile stupidity when I added the second thread to IdentifierCompleter; previously it was impossible for multiple threads to stomp on filetype_map_ because only one thread ever accessed it. I changed that some time ago and forgot to protect filetype_map_. Idiot.