Fix RequestDispatcherRequestWrapper inconsistency between `getRequestURI` and `getRequestURL`
Merge pull request #862 from backuitist/patch-1

Fix RequestDispatcherRequestWrapper inconsistency between `getRequestURI` and `getRequestURL`
Sync EnsureJpaCanTakeObjectsInPropertiesTest
Remove all .iml and .ipr IntelliJ project files and add IntelliJ project files and directories to .gitignore.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=77967915
Merge pull request #863 from google/moe_writing_branch_from_2b4dd1617e61fac3869381e9e7728b488badc5e2

Merge internal changes
Add a Maven module for JDK8-specific tests to open-source Guice.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=78097782
Add a .gitattributes file to force consistent line endings in text files.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=78102584
Add missing imports to make Java8LanguageFeatureBindingTest actually compile.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=78110917
Explicitly mark sh files as executable.
Update jdk8-tests/pom.xml to not inherit jar plugin settings from the parent.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=78183763
Fix stupid typos.

(This time for sure!)
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=78196442
Merge pull request #864 from google/moe_writing_branch_from_2b4dd1617e61fac3869381e9e7728b488badc5e2

Merge more internal changes
Change ${parent.version} to ${project.version} since Maven apparently complains about ${parent.version}.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=78201599
Making Singleton's creation lock less coarse.

Singleton is defined as a scope which creates no more than one
object per injector. It's highly confusing when you catch a deadlock
between two unrelated injectors due to the same class injection.

Problem is demonstrated using a test that recreates scenario when
one thread injecting class can block other thread to use its own
injector.

Proposed solution is to use Injector-wide locks in a singleton.
ThreadLocal as a way to store current state.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=78469951
Merge pull request #868 from google/moe_writing_branch_from_2b4dd1617e61fac3869381e9e7728b488badc5e2

Merge internal changes
Add "BOM" (Bill of Materials) for easier use with Maven

Guice extensions must generally have their version match the one
of Guice. Maven provides an easy way to make sure this is the case
with “BOMs” [1].

To make sure all your Guice dependencies (either direct or
transitive) use the same version (unless overridden), just add the
following to your <dependencyManagement> section:

    <dependency>
      <groupId>com.google.inject</groupId>
      <artifactId>guice-bom</artifactId>
      <version>${guice.version</version>
      <type>pom</type>
      <scope>import</scope>
    </dependency>

[1] https://maven.apache.org/guides/introduction/introduction-to-dependency-mechanism.html#Importing_Dependencies
Merge pull request #874 from tbroyer/guice-bom

Add "BOM" (Bill Of Material) for easier use with Maven
Simplifies Multibinder by moving Key generation to RealMultibinder's
constructor.

Tested:
All existing tests pass.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=79159620
Simplifies MapBinder by moving Key generation to RealMapBinder's constructor.

Tested:
All existing tests pass.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=79160583
Make SpiUtils tests more accurate by multiplying the expected results instead
of dividing the actual results. Before, some bindings weren't being checked
and this was overlooked by the tests due to rounding down the number of
leftover bindings.

Tested:
All existing tests pass.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=79167431