Make messaging a trait

Also fix SSL server, add more documentation, use hyper git since
crates.io hyper takes too long