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

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