OpenJDK11: Required files for java.net merging.

This cl merges a few upstream changes which will be later used for
java.net merging. These include changes to Collectors (which adds new
APIs), SocketFlow, & ExtendedSocketOptions.

The new APIs added are:
static <T, A, R> Collector<T,?,R> filtering(Predicate<? super T>, Collector<? super T,A,R>);
static <T, U, A, R> Collector<T,?,R> flatMapping(Function<? super T,? extends Stream<? extends U>>, Collector<? super U,A,R>);
static <T> Collector<T,?,List<T>> toUnmodifiableList();
static <T, K, U> Collector<T,?,Map<K,U>> toUnmodifiableMap(Function<? super T,? extends K>,Function<? super T,? extends U>);
static <T, K, U> Collector<T,?,Map<K,U>> toUnmodifiableMap(Function<? super T,? extends K>, Function<? super T,? extends U>, BinaryOperator<U>);
static <T> Collector<T,?,java.util.Set<T>> toUnmodifiableSet();

Tests were added for all of the APIs

Test: m
Test: atest CtsLibcoreOjTestCases:test.java.util.stream.Collectors.CollectorsTest
Change-Id: I6fd4d177f57a711236f1b2d425817440c1a1a485
7 files changed