veyron/runtimes/google/ipc: fix iobuf bug.

* Fixed to use only one iobuf.Reader per net.Conn.
* Changed iobuf.Pool to allocate buf in a multiple of minSize
  and set the default minSize to 4K.
* Fix iobuf leaks.
  - There are still two known Slice leaks, a reserved iobuf in crypter
    and vc.writer. At first, I tried to fix these leaks too, but it made
    close logics of VC/VIF/Proxy too complicated due to their
    dependencies. So I revert it :) They don't affect the peformance much
    and will be GCed eventually.

With these fixes, IPC bencmark (in my local machine) shows a huge
performance improvement (+35%).

Benchmark___10B: 4.44ms -> 2.59ms
Benchmark___1K_chunk___100B:   291.40ms -> 178.10ms
Benchmark___10B_mux___1K_chunks__100B: 203.60ms -> 102.70ms

Change-Id: I119b05c20ca307e5ce7c1d7f7c08c73a5df7d983
10 files changed
tree: 5d6553a08d8fa3a23e4da3bfd160d64c973067c1
  1. lib/
  2. profiles/
  3. runtimes/
  4. security/
  5. services/
  6. tools/