vbucket: add lcbvb_genconfig_ex()

This allows to generate a configuration handle using more detailed input
parameters. Provided to better test forwarding emulation

Change-Id: Ic9a767b72aa4536737ffe7eaf2c0f506b7c0c280
CCBC-301: Packet Forwarding Functionality

This changeset provides packet forwarding functionality, allowing
efficient relaying of existing memcached packets over to their
destination servers, and relaying responses back to the user with
efficient buffer management.

This patch includes:

- volatile lcb_cntl to get/set the rdb_ALLOCATOR being used for read
  buffer management

- mc_forward_packet() function. Currently internal but very flexible -
  allows forwarding packets either as an IOV array, a contiguous
  user-allocated buffer, or a temporary buffer (which is copied)

- lcb_pktwd3() function which can receive an lcb_CMDPKTFWD which
  contains the appropriate buffers and/or IOVs to relay to a target
  memcached server. This is a wrapper around mc_forward_packet()

- lcb_backbuf_ref(), lcb_backbuf_unref() functions which wrap
  rdb_seg_ref() and rdb_seg_unref() to allow for refcounting the
  receive buffers

- modifications inside mcserver to properly be able to handle packet
  structures with the F_UFWD flag set.

- iovcursor module to be able to read and look at data stored in
  scatter-gather style structures

- mcreq: pass pipeline to buf_done_cb

Change-Id: Ic51e034b29a456a596e633ecbc213c4cfcadecaa