Fix handling of atoms.

The atoms map needs to have std::string as the key type, otherwise different
compilation units will generate different pointers for the same key strings.