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.
the signature needs to cover the seqno... the signature should be around everything. 

instead of sending data + signature as 2 messages elsewhere, or this incomplete sig, we should just have a sig wrapper protobuf:

```proto
message Signed {
  optional bytes data = 1;
  optional bytes signature = 2;
}
```