Replace uses of ObjectInputStream by StringInterningObjectInputStream.

Some strings that are serialized are used extensibly as keys in (hash)
Maps; if strings are not interned, even successful Map.get()s incurr in
full string comparisons.

This patch also makes sure that strings that are used commonly as keys
are interned.

Change-Id: I2c09ceb8bc29c27051bbbccdf161c3cf1b927d3c
14 files changed