Make dex merging stateless.

This is required to run dx in Eclipse which doesn't unload the dx
library after each run.

(cherry-pick of 7aa5ce7e990dc3766eba97cd0932b62e4de21503.)

Change-Id: I7a69a3015d448ddd5558c307cd01346156cbc739
diff --git a/dx/src/com/android/dx/command/dexer/Main.java b/dx/src/com/android/dx/command/dexer/Main.java
index d127550..80ddbd0 100644
--- a/dx/src/com/android/dx/command/dexer/Main.java
+++ b/dx/src/com/android/dx/command/dexer/Main.java
@@ -186,6 +186,9 @@
         // Reset the error/warning count to start fresh.
         warnings = 0;
         errors = 0;
+        // empty the list, so that  tools that load dx and keep it around
+        // for multiple runs don't reuse older buffers.
+        libraryDexBuffers.clear();
 
         args = arguments;
         args.makeOptionsObjects();
@@ -297,6 +300,7 @@
             DexBuffer ab = new DexMerger(a, b, CollisionPolicy.FAIL).merge();
             outArray = ab.getBytes();
         }
+
         return outArray;
     }