Fix for Verbosity parser to accept "=" as separator

Summary: Now Verbosity parser can accept arguments in format -v=5 or --verbosity=6. It is still a woraround solution, since args4j library has a bug (it cannot handle cmdl arguments that have 'aliases' option in annotation). I've submitted another pull request https://github.com/kohsuke/args4j/pull/40

Test Plan: run VerbosityPartserTest and make sure it is passed
Make ApkBuilderStep.assetDirectories a set of Paths

Summary:
This must have gotten missed in the String -> Path conversion.
There are no users now (we used to use it for secondary dex files, I
think), but I might be adding one soon.

Test Plan: Buildbot.
Rname javaResourcesDirectories

Summary:
The parameter name was clashing with the member name.  I could go either
way on naming this.  ApkBuilderMain refers to them as Java resources,
but "assets/" is the most likely use case.

Test Plan: Buildbot.
Add missing components to apkbuilder command line

Summary:
These were being added programmatically, but not reflected in the
description.

Test Plan:
Ran the apkbuilder command displayed when building FB4A.  Got an
effectively-identical apk from the one produced by Buck. It was
unsigned, because ApkBuilderMain doesn't have arguments for the
keystore, and the files were in a different order in the zip file and
the signature.
Add object type to exopackage abi hash

Summary:
I was carefully tracking the type of each file so ensure that we would
re-run apkbuilder if a file changed type, but not path or contents.
Then I promptly forgot to add those types to the hash.

Test Plan: An upcoming diff adds a test that fails without this.
Make getClassNamesToHashes return ImmutableSortedMap

Summary:
It has always been returning objects of this type, but the declared
return type was just "Map".  Declare the more specific type to allow the
caller to assume stronger properties.

(I actually don't remember why I did this, but I'm sure it seemed like a
good idea at the time.)

Test Plan: Buildbot.
Fix a comment in AndroidBinary

Summary:
Not sure if this was ever accurate, but we do native libs in apkbuilder
now, not aapt.

Test Plan: Buildbot.
Semi-unify asset and non-asset native libraries

Summary:
Previously, native-libraries-as-assets were added to the apk in the
aapt_package step, while normal native libraries were added during
apkbuilder.  This probably came about because "most" assets are
associated with android_resource rules, which are handled by aapt (which
knows how to bundle assets), and native libraries are supported directly
by apkbuilder.

However, this makes no sense structurally.  Asset and Non-asset native
libraries are 100% identical except for "assets/" being prepended to the
in-apk path.  So let's have them both be handled by (mostly) the same
codepath in apkbuilder.

The motivation for this is the elimination of
AndroidTransitiveDependencies.nativeTargetsWithAssets.  We're planning
to refactor how Android transtive dependencies are handled, and this
thing is kind of getting in the way because its the only thing that's
not a simple Set<Path>.

If we want to optimize exopackage abi calculation in the future, we
might need to add back something like this for both asset and non-asset
native libs, but I still think it's worth deleting it now to simplify
the refactor.

Test Plan: Integration tests.
Un-MOE source to build and use our custom DX

Summary:
A while back I made our custom DX visible in open-source Buck, but I
forgot to un-MOE the commands to build and use it.  Do so here.

Test Plan: Buck's integration tests should verify this after MOEing.
Add an ant rule to run all of dx's tests

Summary:
I'm going to be hacking on DX, so I want to be able to run its internal
tests.

Test Plan: ant dx-tests
Fix jasmin script in dx

Summary:
It has always pointed to a "framework" directory that doesn't exist.
Maybe it is stripped out of the open-source Dalvik repository.

Test Plan: ant dx-tests
Remove DX's junit tests

Summary:
See Dalvik commit 4cd7b39876bcec03bb1d0c2afa61cbdb7d119eba.  It changed
the way these run, and I don't want to go through the trouble of setting
up a separate test harness for them.  They're tightly targetted at some
utility classes that I'm not modifying.

Test Plan: ant dx-tests
Bundle junit with dx to make some of its tests build

Summary:
Some of DX's tests depend on junit be bundled in dx.jar.  I could
probably fix them, but that's pretty involved, and there's no real harm
in re-bundling it from our existing jar.

I also had to update the scripts to point to our built dx.jar.

Test Plan: ant dx-tests
Delete an obsolete test from DX

Summary: This was deleted from Dalvik in 2eb5aa995daa1890.

Test Plan: ant dx-tests
Re-record DX's "high-register-moves" test

Summary:
The expected result for this test requires extended opcodes, which
DX doesn't do anymore.  Re-record it to check the non-extended version.

This is effectively a revert of 871f89bd97e8dec828559df13eb0a033f4c23e49

Some dalvik history:
test broken in 7baeded82e40352ebfb43b716e0b1dd752e72e7e
feature disabled in 36db01eeaa04e3af3401c5bd6a399d3fb7b040e3
feature removed in ab35b50311951feea3782151dd5422ee944685c2
more removed in 3530d30f6adfd8b8607d6a0bf7988833945f5cf4

Test Plan: ant dx-tests
Re-record DX's "old-style-inner-class" test

Summary: My javac spews an extra warning, so make the test expect that.

Test Plan: ant dx-tests
Re-record DX's "find-usages" test

Summary:
It looks like the output was made more verbose, but the test wasn't
updated.  It's hard to tell exactly where the change was made.  The test
was broken in a different way in 6bf7f30e6968d991 because it wasn't
flushing output.  The flushing was fixed in 1c7c32e2ff5d9f6a, by which
time the output had changed.

Test Plan: ant dx-tests
Fix DX tests that test dex merging

Summary: These weren't updated to use the List form of the constructor.

Test Plan: ant dx-tests
Add Chrome trace event for killing the app after exopackage installation

Summary:
This takes a surprisingly long time (like 250 ms), so call it out
explicitly in the Chrome trace.

Test Plan: Installed and exopackage and loaded the trace.
Update a comment in DexMerger

Summary: I missed this when I implemented N-way merging.

Test Plan: Buildbot.