Revert #359 which alters how injection keys are generated, as that breaks permissive members-injection of non-annotated classes.

This fixes square/dagger#364 by reverting square/dagger#359, adds a regression test to ensure that this sort of error cannot repeat, and moves some tests into more appropriate places.