I've added a reporting section to the top-level pom, so "mvn site" will generate aggregated Javadoc.
I've added package-level InterfaceAudience annotations to hide non-public APIs in new packages - mainly MR2/YARN (which is why the patch is so big).
I've also added a slightly modified doclet to only include classes that have been explicitly marked @Public (IncludePublicAnnotationsStandardDoclet). Being conservative about what's in the public API is probably a good thing, since its easier to add a class at a later date than to remove one. This is basically done, but there may be a few places where InterfaceAudience should be added.