IMPALA-1586: Randomized replica selection for cached reads

When running in a high QPS environment load-balancing reads across the
cluster is very important. Currently, the scheduler will pick the first
cached replica from the list of replicas. Too avoid creating hot-spots
this patch randomly picks one cached replicas if multiple are available.

Change-Id: I66f8f39699d5d043999b7a7832e00efab365ebec
Reviewed-on: http://gerrit.sjc.cloudera.com:8080/5532
Reviewed-by: Martin Grund <mgrund@cloudera.com>
Tested-by: jenkins