Use error-prone in Jimfs Maven compilation.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=65120857
Increase timeout on testWatchForMultipleEventTypes.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=65830538
Update Guava dependency to 17.0.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=66919555
Change JimfsFileSystemProvider to cache URI -> FileSystem mappings in a static map with weak values. To paraphrase the updated Javadoc:

The cache is static to ensure that even when the provider isn't loaded by the system class loader, meaning that a new instance of it must be created each time one of the methods on FileSystems or Paths#get(URI) is called, cached file system instances are still available.

The cache uses weak values so that it doesn't prevent file systems that are created but not closed from being garbage collected if no references to them are held elsewhere. This is a compromise between ensuring that any file URI continues to work as long as the file system hasn't been closed (which is technically the correct thing to do but unlikely to be something that most users care about) and ensuring that users don't get unexpected leaks of large amounts of memory because they're creating many file systems in tests but forgetting to close them (which seems likely to happen sometimes). Users that want to ensure that a file system won't be garbage collected just need to ensure they hold a reference to it somewhere for as long as they need it to stick around.
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=66924231