relay: inital use of retrolambda and streams
relay: initial switch to using Optionals for Channel/ChannelUser retrieval

* this code is untested - be very careful of its use
* this change has many benefits to both the library users and the library code
* makes more clear where data might not be present
* implementation: also allows for easy ignoring of server lines which would cause exceptions
relay: refactorings to make API consistent and cleanup
relay: remove unnecessary downloading of SDK packages
Merge branch 'develop' into retrolambda-streams
relay: add travis stuff for Java 8 (retrolambda needs 8)