Add utility for bridging Guava builders with Java 8 streams

This allows us to do the following and get an ImmutableList or ImmutableSet:

```java
List<Integer> list = collection.stream()
    .map(...)
    .filter(...)
    .collect(ImmutableCollectors.immutableListCollector());

Set<Integer> set = collection.stream()
    .map(...)
    .filter(...)
    .collect(ImmutableCollectors.immutableSetCollector());
```