partial_row: micro-optimizations
partial_row: micro-optimizations

* When converting to PB, resize the string buffer and then use memcpy instead
  of std::string::append() to add each cell. This gets inlined and reduces the
  number of branches required.
* In the Set*() functions, use memcpy to copy the cell rather than the fancier
  CopyCellData function. Since we don't use an arena here, the complexity of
  that function was unnecessary, and because it was long, it wasn't getting
  inlined and optimized out. Using memcpy with the constant size turns into
  a single instruction instead, so is much faster.

These micro-optimizations improved the performance of the tpch1 benchmark
by a few percent.

Change-Id: I055b288b30ebcfd817c3e0bf0c7be1a5f55a7a86
Reviewed-on: http://gerrit.ent.cloudera.com:8080/1390
Tested-by: jenkins
Reviewed-by: Jean-Daniel Cryans <4bf4c125525b8623ac45dfd7774cbf531df19085@cloudera.com>
Reviewed-by: Matteo Bertozzi <1d5ca967930bde0bdce795acbf71a5e281d2d4e5@cloudera.com>

helifu/kudu,cloudera/kudu,andrwng/kudu,EvilMcJerkface/kudu,EvilMcJerkface/kudu,InspurUSA/kudu,helifu/kudu,InspurUSA/kudu,EvilMcJerkface/kudu,InspurUSA/kudu,helifu/kudu,andrwng/kudu,helifu/kudu,EvilMcJerkface/kudu,cloudera/kudu,helifu/kudu,InspurUSA/kudu,cloudera/kudu,InspurUSA/kudu,cloudera/kudu,helifu/kudu,cloudera/kudu,cloudera/kudu,andrwng/kudu,andrwng/kudu,InspurUSA/kudu,andrwng/kudu,cloudera/kudu,EvilMcJerkface/kudu,andrwng/kudu,helifu/kudu,helifu/kudu,helifu/kudu,cloudera/kudu,andrwng/kudu,InspurUSA/kudu,InspurUSA/kudu,EvilMcJerkface/kudu,InspurUSA/kudu,andrwng/kudu,andrwng/kudu,EvilMcJerkface/kudu,cloudera/kudu,EvilMcJerkface/kudu,EvilMcJerkface/kudu