Remove usages of guava's Closer.

Summary:
Using Closer was a interim measure before we moved to Java 7, which has try-with-
resources. It's no longer needed, so tidy up the code base a little.

Test Plan: buck test --all
diff --git a/src/com/facebook/buck/android/MergeAndroidResourcesStep.java b/src/com/facebook/buck/android/MergeAndroidResourcesStep.java
index 09bd64a..d3b6655 100644
--- a/src/com/facebook/buck/android/MergeAndroidResourcesStep.java
+++ b/src/com/facebook/buck/android/MergeAndroidResourcesStep.java
@@ -24,14 +24,12 @@
 import com.google.common.base.Joiner;
 import com.google.common.base.Objects;
 import com.google.common.base.Preconditions;
-import com.google.common.base.Throwables;
 import com.google.common.collect.ComparisonChain;
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.ImmutableSortedSet;
 import com.google.common.collect.SortedSetMultimap;
 import com.google.common.collect.TreeMultimap;
 import com.google.common.io.CharStreams;
-import com.google.common.io.Closer;
 import com.google.common.io.Files;
 
 import java.io.BufferedWriter;
@@ -199,19 +197,12 @@
   public static String generateJavaCodeForPackageAndResources(String packageName,
       SortedSet<Resource> resources) {
     StringBuilder b = new StringBuilder();
-    Closer closer = Closer.create();
-    PrintWriter writer = closer.register(new PrintWriter(CharStreams.asWriter(b)));
-    try {
+
+    try (PrintWriter writer = new PrintWriter(CharStreams.asWriter(b))) {
       writeJavaCodeForPackageAndResources(writer, packageName, resources);
     } catch (IOException e) {
       // Impossible.
       throw new RuntimeException(e);
-    } finally {
-      try {
-        closer.close();
-      } catch (IOException e) {
-        Throwables.propagate(e);
-      }
     }
     return b.toString();
   }
diff --git a/src/com/facebook/buck/java/JarDirectoryStep.java b/src/com/facebook/buck/java/JarDirectoryStep.java
index 0d7794f..28e09c2 100644
--- a/src/com/facebook/buck/java/JarDirectoryStep.java
+++ b/src/com/facebook/buck/java/JarDirectoryStep.java
@@ -32,7 +32,6 @@
 import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Sets;
 import com.google.common.io.ByteStreams;
-import com.google.common.io.Closer;
 import com.google.common.io.Files;
 
 import java.io.ByteArrayInputStream;
@@ -228,16 +227,13 @@
   }
 
   private Manifest readManifest(ZipFile zip, ZipEntry manifestMfEntry) throws IOException {
-    Closer closer = Closer.create();
-    ByteArrayOutputStream output = closer.register(
-        new ByteArrayOutputStream((int) manifestMfEntry.getSize()));
-    InputStream stream = closer.register(zip.getInputStream(manifestMfEntry));
-    try {
+    try (
+        ByteArrayOutputStream output = new ByteArrayOutputStream((int) manifestMfEntry.getSize());
+        InputStream stream = zip.getInputStream(manifestMfEntry);
+    ) {
       ByteStreams.copy(stream, output);
       ByteArrayInputStream rawManifest = new ByteArrayInputStream(output.toByteArray());
       return new Manifest(rawManifest);
-    } finally {
-      closer.close();
     }
   }
 
diff --git a/src/com/facebook/buck/zip/ZipDirectoryWithMaxDeflateStep.java b/src/com/facebook/buck/zip/ZipDirectoryWithMaxDeflateStep.java
index 1aa9ffa..ba42bad 100644
--- a/src/com/facebook/buck/zip/ZipDirectoryWithMaxDeflateStep.java
+++ b/src/com/facebook/buck/zip/ZipDirectoryWithMaxDeflateStep.java
@@ -18,18 +18,14 @@
 import com.facebook.buck.step.ExecutionContext;
 import com.facebook.buck.step.Step;
 import com.google.common.base.Preconditions;
-import com.google.common.base.Throwables;
 import com.google.common.collect.ImmutableMap;
 import com.google.common.collect.ImmutableSet;
 import com.google.common.hash.HashCode;
 import com.google.common.hash.Hashing;
 import com.google.common.io.ByteStreams;
-import com.google.common.io.Closer;
 import com.google.common.io.Files;
 
-import java.io.BufferedOutputStream;
 import java.io.File;
-import java.io.FileOutputStream;
 import java.io.IOException;
 import java.util.Map;
 import java.util.Set;
@@ -80,32 +76,25 @@
         "%s must be a directory.",
         inputDirectoryPath);
 
-    Closer closer = Closer.create();
     try {
       ImmutableMap.Builder<File, ZipEntry> zipEntriesBuilder = ImmutableMap.builder();
       addDirectoryToZipEntryList(inputDirectory, "", zipEntriesBuilder);
       ImmutableMap<File, ZipEntry> zipEntries = zipEntriesBuilder.build();
 
       if (!zipEntries.isEmpty()) {
-        CustomZipOutputStream outputStream = closer.register(
-            ZipOutputStreams.newOutputStream(new BufferedOutputStream(
-                new FileOutputStream(outputZipPath))));
-
-        for (Map.Entry<File, ZipEntry> zipEntry : zipEntries.entrySet()) {
-          outputStream.putNextEntry(zipEntry.getValue());
-          ByteStreams.copy(Files.newInputStreamSupplier(zipEntry.getKey()), outputStream);
-          outputStream.closeEntry();
+        try (CustomZipOutputStream outputStream =
+                 ZipOutputStreams.newOutputStream(new File(outputZipPath))
+        ) {
+          for (Map.Entry<File, ZipEntry> zipEntry : zipEntries.entrySet()) {
+            outputStream.putNextEntry(zipEntry.getValue());
+            ByteStreams.copy(Files.newInputStreamSupplier(zipEntry.getKey()), outputStream);
+            outputStream.closeEntry();
+          }
         }
       }
     } catch (IOException e) {
       e.printStackTrace(context.getStdErr());
       return 1;
-    } finally {
-      try {
-        closer.close();
-      } catch (IOException e) {
-        Throwables.propagate(e);
-      }
     }
     return 0;
   }