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.
yay. maybe do both:

```
RandPeer() peer.Peer // no key pair.
RandPeerWithKeys() peer.Peer // generates key pair.
```