*** Reason for rollback ***

Causes an internal test to become flaky.

*** Original change description ***

Enhance WeakKeySet to auto evict keys and avoid calling toString on Keys.

This should fix https://code.google.com/p/google-guice/issues/detail?id=756.

-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=64181193
The bug in the test that became flaky has been fixed. Note that this is not a strict rollback of the rollback - I've added protection against the NPE that would happen if there's a GC between the isBlacklisted call and the getSources call.

*** Original change description ***

Enhance WeakKeySet to auto evict keys and avoid calling toString on Keys.

This should fix https://code.google.com/p/google-guice/issues/detail?id=756.

-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=64507759
Change Opcodes.ASM4 to Opcodes.ASM5, to work with java8 lambdas.  Also update opensource build to ASM 5.0.1.

I'm not confident this will 100% solve every issue... we may need to update cglib also to use OpCodes.ASM5.  Should do some testing w/ AOP over things with default methods & lambdas.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=64557004
Merge remote-tracking branch 'upstream/master'