Use version 6.1.1 of checkstyle library

The version used by the checkstyle maven plugin doesn't support Java 8,
so override it manually until the plugin is fixed
Add utility for bridging Guava builders with Java 8 streams

This allows us to do the following and get an ImmutableList or ImmutableSet:

List<Integer> list = collection.stream()
    .map(...)
    .filter(...)
    .collect(ImmutableCollectors.immutableListCollector());

Set<Integer> set = collection.stream()
    .map(...)
    .filter(...)
    .collect(ImmutableCollectors.immutableSetCollector());
Minor improvements to ImmutableCollectors

- Rename methods to toImmutableList and toImmutableSet
- Simplify method signatures
- Remove unnecessary type specification for lambda args
- Declare set collector as UNORDERED to give stream implementation
  more room for optimization
Implement ImmutableCollectors.toImmutableMultiset
Deprecate IterableTransformer
Enable modernizer plugin

For now, start with the stock set of violations and only warn.
Change Travis config to use Java 8
Reduce memory footprint in Travis
Don't fork compiler

This speeds up compiling by ~25% and helps prevent Travis from running
out of memory
Load java.* classes from parent classloader
Convert Accumulator to take a BlockBuilder
Implement arbitrary aggregation function
Fix an issue when using row_number() and limit() together
Fixed a minor issue with the 0.80 release notes
Fix coercion for variable arity functions

Arguments were not being coerced if the first argument was not a super
type of the later arguments.
Implemented LEAST function with variable number of arguments.
Add docs for arbitrary() and release notes for 0.88
Minor cleanup of Least

Remove custom method in Signatures to create a specialized signature for least.
That's not necessary outside of the Least class and it's an implementation detail.
Update to airbase 29

This makes the dependency plugin compatible with Java 8
Remove unused methods