Fixed InMemoryTaskArtifactCache to handle the case where a value is missing from the backing cache.
Added @Nullable.
Added IOActions.withResource() to safely run an action against some Closeable resource. Use this to clean up in a couple of copy actions.