Merge pull request #175 from tbroyer/supportedsourceversion

Use SourceVersion.latestSupported() to avoid warning with JDK 7.
When flagging an override of an override, clarify that this is intentionally not support.
Fixed to use original message for non-override scenario.
Throw an error on a module inclusion cycle, and add a test.
eliminate an unnecessary method.
Rename exception.
Protect singleton and lazy bindings against concurrent access, and test that this works.
Move dagger-compiler as a m-compiler-p dependency.
Fix some style and naming issues from code-review.
Merge pull request #190 from tbroyer/doc-usage

Move dagger-compiler as a m-compiler-p dependency.
Update README. Fix XML comment syntax.
Merge pull request #192 from square/jw/dash-dash

Update README. Fix XML comment syntax.
Remove extra lock object per @swankjesse's concerns about object allocation on android.
Re-work a loop to better use the stack of path elements, and fix error messaging.
Merge pull request #189 from cgruber/locking

Add proper concurrency support to Singleton/Lazy bindings
Merge pull request #180 from adennie/better-override-error

Clarify error msg for overriding an override
Add restrictions around injectable targets.

 * Private fields are not supported.
 * Private constructors are not supported.
 * Methods are not supported.

Closes #181. Closes #113. Closes #112.
Merge pull request #193 from square/jw/privates

Add restrictions around injectable targets.
Test for erroneous message more explicitly.
Merge pull request #195 from square/jw/privates

Test for erroneous message more explicitly.