[rpc] Expose KRPC call_id to client application

KRPC assign call_id number for each RPC call at Request header. This
call_id then sent back in the Response and allows to match it to the
original Request. KRPC client, such as Impala, can utilize this call_id
for tracing or logging slow RPC.

This patch expose call_id through RpcController and RpcContext class for
such purpose.

Testing:
- Add TestCallId in rpc-test.cc.
- Add call_id check in CalculatorService::Add().
- Run and pass rpc-test.

Change-Id: If20114ef2b416ed9b39277e90639a6277b226fbb
Reviewed-on: http://gerrit.cloudera.org:8080/17866
Tested-by: Kudu Jenkins
Reviewed-by: Alexey Serbin <aserbin@cloudera.com>
6 files changed