Provide the component within the graph.  This is crucial for creating sub-components (particularly in new scopes) without having to stash references in threadlocals or static state.

While conceptually simliar to the "injecting the injector" anti-pattern, components are strongly typed, so it can't be abused to create an instance of any bound type.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=68549408
Implement scope.  At the moment, this has no validation on correctness, so you can easily build incorrect compositions of scope, but validation is forthcoming.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=68552057
Merge pull request #26 from google/moe_writing_branch_from_de48d936fa3f6af25f1afdc3b1422ffaa8d2a142

Dagger 2.0 - graphs can provide components, and memoize on `@Scope` annotations.