Compile Dagger with Dagger.

This imports the opensource dagger compiler from the dagger-2.14.1 tag and all of its dependencies as a fat jar. Note that this is only used to build the dagger-compiler jar, and as such has no implications for downstream users whatsoever.

This change is mostly just adding some @Inject constructors and some qualifiers. A follow up will add DI for the ComponentWriters, which is itself a large change so I wanted to keep this reasonably sized.

RELNOTES=n/a

-------------
Created by MOE: https://github.com/google/moe
MOE_MIGRATED_REVID=180827435
diff --git a/java/dagger/internal/codegen/BindingMethodProcessingStep.java b/java/dagger/internal/codegen/BindingMethodProcessingStep.java
index cc1e164..50c2081 100644
--- a/java/dagger/internal/codegen/BindingMethodProcessingStep.java
+++ b/java/dagger/internal/codegen/BindingMethodProcessingStep.java
@@ -25,6 +25,7 @@
 import java.lang.annotation.Annotation;
 import java.util.Set;
 import javax.annotation.processing.Messager;
+import javax.inject.Inject;
 import javax.lang.model.element.Element;
 import javax.lang.model.element.ExecutableElement;
 
@@ -34,6 +35,7 @@
   private final Messager messager;
   private final AnyBindingMethodValidator anyBindingMethodValidator;
 
+  @Inject
   BindingMethodProcessingStep(
       Messager messager, AnyBindingMethodValidator anyBindingMethodValidator) {
     this.messager = messager;