CDK-581: Updates for java8

This PR alters the travis config to test java8 without pushing to master. This will not be part of the commit when merged.
The new findbugs complained that domain was a mutable field. The purpose of lazily creating the RangeDomain was because it wasn't used much at first, but it ended up being used any time a predicate is projected, which is very common. There's not much justification for lazily creating it anymore so I removed that as the fix rather than suppressing the warning.