Get rid of malloc in LogDeque::HashString().

I was using qHash() to hash the strings just because it let me implement
LogDeque::HashString() quickly. But qHash() requires a QByteArray which
requires a malloc and mallocs are slow..  This uses a good public domain
hash (Dan Bernstein's djb2 with xor instead of add) to hash the string
and avoids doing any malloc unless this is the first time we're seeing
the string.