Replace removed Guava classes and methods by updated versions

Several classes and methods have been deprecated and removed since Guava 14.0.1 (e.g. NullOutputStream, LimitInputStream and MapMaker.makeComputingMap). This prevents clients from updating to a newer version of Guava.

This change replaces all uses of removed Guava APIs by their documented alternatives and updates Guava to the current version (17.0).