Enable Factory generation for @Provides methods.

NOTE: This CL also removes toString() generation for factories as it became clear that our old strategy only made sense for a subset of factories.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=66453730
Refactor the dagger codegen to use auto-common.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=67147697
Generate simple component implementations.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=67285914
Implement set bindings:
- Update factory generation to output the correct things for SET and SET_VALUES providers.
- Add a SetFactory to compose other providers for a set binding
- Update generated components to use SetFactory and the generated factories
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=67537649
Merge pull request #22 from google/moe_writing_branch_from_de48d936fa3f6af25f1afdc3b1422ffaa8d2a142

Further advances in 2.0 - notably components (without scope memoization or dependencies) and SetBindings