APIs to construct mutation messages.

Include test cases and benchmark code.
Also exercise Mutation struct's Encode and Decode method receivers.
Bucket name can be inferred via indexId, removed it from API argument list.

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