Performance optimizations and memory management

Added some benchmarks to secure channel and played around with improving its performance, also started using a sync.Pool for message buffers.
even though sending out data doesnt need their pubkey at all? It felt kinda weird to me. I guess i could pass *our* public key into it to make them match, even though its in the receiver