Use System.nanoTime()

This is required to make code resilient to system clock adjustments.
Also it makes timeouts more precise.
Use Guava's Uninterruptibles
Add @Override to all methods that are missing the annotation.
Convert tabs to spaces.
Use Guava ImmutableMaps instead of anonymous HashMaps.
Make ExceptionsTest variable uses look similar to other classes
Race condition attempt #2
Merge pull request #87 from blair/tabs-to-spaces

Convert tabs to spaces.
Merge pull request #89 from joaquincasares/exception_var_reformat

Make ExceptionsTest variable uses look similar to other classes
Merge pull request #84 from ash2k/nanotime

Use System.nanoTime()
Better variables names
Merge pull request #85 from ash2k/uninterruptibles

Use Guava's Uninterruptibles
Merge pull request #88 from blair/no-anonymous-hashmaps

Use Guava ImmutableMaps instead of anonymous HashMaps.
Merge branch 'master' of https://github.com/datastax/java-driver
Merge pull request #86 from blair/add-overrides

Add @Override to all methods that are missing the annotation.
Merge pull request #90 from joaquincasares/constant_reconnection_race_fix

Race condition attempt #2
Merge branch 'master' of https://github.com/datastax/java-driver
Clean up java warnings