Save memory in VCardParser by sharing common strings
Review Request #110302 - Created May 4, 2013 and submitted
Many strings common to the VCard format where not shared resulting in an exessive memory consumption. Now these strings are interned to leverage implicit sharing. Note: To furthermore decrease the amount of QByteArray -> QString conversions this code uses a (trivial) custom interning cache instead of reusing Akonadi::Internal::SharedValuePool.
Massif shows that this patch reduces the memory consumption for running testread on a file containing 10k randomly generated vcards by ~6MB or by nearly 16% from a total of about 38MB.