Use a guava weak interner to reuse language tags for plain literals

This change uses a guava weak string interner to reuse language tags.

Using Opencyc.owl as test case (to switch things up a little), since almost all text literals in opencyc.owl have language tags:

Before:  total size 666,308,424 (100%), internals 502,138,144 (100%) 
After   :     total size 621,444,560 (**93%**),  internals 458,017,704 (**91%**)