A re-work of the code-generation system to made generated code that is cleaner, more readble, more documented, with methods clustered together to line up infrastructure methods and methods that might reasonably be stepped-through in a debugger.  Along with this includes quite a few changes, including making generation of methods/fields conditional upon their being used, field names only being disambiguated when actually necessary, etc. Some other issues including bulk organization of imports an infrastructure for emitting javadocs, adding some integration tests to verify some things changed here, etc.
Merge pull request #133 from cgruber/bettercodegen

Some updates to make generated code cleaner and more readable
Merge branch 'master' into assisted-injections

Conflicts:
	compiler/src/main/java/dagger/internal/codegen/InjectProcessor.java
	compiler/src/main/java/dagger/internal/codegen/ProvidesProcessor.java