Mechanical refactoring of dx into two parts.

This splits off a new package, com.android.dex that contains
code for parsing and modelling dex files. This code is usable
both at build time (for compilation and analysis) and at runtime
(for introspection).

The original package, com.android.dx is the tool that compiles
.class files into .dex files. That package also includes utilities
for merging and querying dex files, all visible to the dx command
line application.

In a follow up change I'll move the new com.android.dex package
into the libcore/ project, and configure build rules so that it's
included in both dx.jar and core.jar. The core.jar will then be
able to use it for annotation processing.

Change-Id: I3c58cf87e728e4dda1925a0992c1ee7b8130e81a
(cherry picked from commit bab4abb07335d162ecdb8091fc395cf84803a580)

Conflicts:
	dx/junit-tests/com/android/dx/util/BitIntSetTest.java
	dx/junit-tests/com/android/dx/util/BitsTest.java
	dx/junit-tests/com/android/dx/util/IntListTest.java
	dx/junit-tests/com/android/dx/util/ListIntSetTest.java
	dx/src/com/android/dex/Dex.java
	dx/src/com/android/dex/TableOfContents.java
	dx/src/com/android/dx/annotations/AnnotationAccess.java
	dx/src/com/android/dx/command/Main.java
	dx/src/com/android/dx/dex/code/OutputFinisher.java
	dx/src/com/android/dx/dex/code/form/Form32s.java
	dx/src/com/android/dx/dex/code/form/Form33x.java
	dx/src/com/android/dx/dex/code/form/Form41c.java
	dx/src/com/android/dx/dex/code/form/Form52c.java
	dx/src/com/android/dx/gen/DexGenerator.java
	dx/src/com/android/dx/merge/DexMerger.java
199 files changed