Use the correct key to check for blacklisting of multibound elements.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=64831090
Fix issue 379 -- strip the query off the URI when checking to see if the
pattern matches.  (We don't need to strip the fragment off because fragments
aren't sent to servers.)
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=64996893
Implement hashCode and equals on type returned by Providers.of(...). There doesn't seem to be any reason *not* to provide these methods, and it means downstream code that does

bind(X.class).toProvider(Providers.of(null))

does not result in erroneous duplicate binding errors if Modules.override is used.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=65067530
Add equals/hashCode to Providers.guicify(...) results.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=65072672
Make WeakKeySet less susceptible to programming errors by making the backingMap key a concrete type.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=65307015
Implement hashCode and equals in FactoryProvider/FactoryProvider2, with the aim of allowing Guice to dedupe bindings.

Also fixed a bunch of niggly Eclipse warnings, but this will be easy to remove if it's not wanted.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=65607792
Automated rollback.

*** Reason for rollback ***

equals method too liberal in what can be equal

*** Original change description ***

Implement hashCode and equals in FactoryProvider/FactoryProvider2, with the aim of allowing Guice to dedupe bindings.

Also fixed a bunch of niggly Eclipse warnings, but this will be easy to remove if it's not wanted.

***
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=65608468
Implement hashCode and equals in FactoryProvider/FactoryProvider2, with the aim of allowing Guice to dedupe bindings. Reroll of earlier change with a bug fixed.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=65611245
Update provision & creation exception messages.  The previous messages caused misdiagnosis, as users think "There was a Guice error" when there is an error in user code.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=66120881
Skip synthetic/bridge methods when validating CheckedProvider interfaces, otherwise java8 breaks validation by adding a synthetic bridge default method.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=66122172
Ignore synthetic/bridge methods when determining if a method should be injected.  This broke injections for different reasons before & after java8, but the fix is the same for both.

Add a test with method injection points & super/sub classes that change method visibility, to confirm that synthesized/bridged methods don't artificially change what's injected or the parameters of the injections.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=66136797