connection library for mutation stream: second cut

a complete revamp of streaming library between router and indexer based on
discussions with John, Deep and Siri. All files are under secondary/indexer/

support files,
- stream.go, handles on the wire framing for mutation packets.
  stream_test.go, corresponding test cases and benchmark functions.
- stream_flags.go, encoding and compression flags for package framing.
- stream_protobuf.go, contains protobuf encoding and decoding of
  keyversions and vbmap.
  stream_protobuf_test.go, corresponding test cases and benchmark
  functions.

server,
- streamd.go, contains connection listener and routine to read from port.
- streamg.go, gen-server implementation.

client,
- streamc.go, contains client API to push mutations to the other end.

test cases and benchmark functions for client/server is in streamg_test.go

related modifications,
- refactored router/mutation.go to common/mutation.go
- refactored protobuf encoding and decoding logic into
  indexer/stream_protobuf.go
- corresponding test cases from router/mutation_test.go are moved
  indexer/stream_protobuf_test.go
- defined VbConnectionMap to use with underlying codec like
  protobuf.VbConnectionMap.
- added test cases for common/mutation.go

Change-Id: I3586f11c7d27c508b76b26c80d41567c2d406144
Reviewed-on: http://review.couchbase.org/36096
Reviewed-by: John Liang <johliang00@gmail.com>
Reviewed-by: Deepkaran Salooja <deepkaran.couchbase@gmail.com>
Reviewed-by: Pratap Chakravarthy <prataprc@couchbase.com>
Tested-by: Pratap Chakravarthy <prataprc@couchbase.com>