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.