IMPALA-1091: Improve TScanRangeLocation.

This struct scales quickly (one per block replica).  Rather than each
location storing the TNetworkAddress of the host, use the same
technique that's used on the Catalog side: build an array of unique
TNetworkAddresses and then make TScanRangeLocation store an index into
that array.

This reduces the size of serialized TQueryExecRequest by about 60
bytes per scan range assuming 3 replica per block (in our mini test
cluster the reduction is ~28% when blocks dominate the request).

Change-Id: Ib5d2ee6b1b73eccb87021035effea717d5af79f9
Reviewed-on: http://gerrit.sjc.cloudera.com:8080/3898
Reviewed-by: Daniel Hecht <dhecht@cloudera.com>
Tested-by: jenkins