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