Other approach to implementing server SSL support

So I wrote another possible way to implement SSL! Lots of good Rust practice. So this approach uses generics and implemented the SSL layer as a wrapper that can be applied to another listener/acceptor/stream. This avoids breaking the `NetworkListener` API, because it instead breaks the `Server` API; there ends up being two possible values returned, based on whether the acceptor ends up being wrapped in the TLS wrappers or not, and I'm not sure how it should be cleaned up. Thoughts?