Add a new version of JavaWriter (temporarily inside dagger)

Add a new version of JavaWriter that allows for writing to different parts of the compilation unit simultaneously.  Then, use it in code generation in Dagger 2 code.

Note - the version of javawriter implemented here is to be proposed to the javawriter project, but its current state is suitable for internal use - no javadocs, some edge cases sharp, and some missing cases that dagger itself doesn't need.  But the pattern is there. 

-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=70279532