Review Board 1.7.22

FLUME-1198. Implement a load balancing sink processor.

Review Request #5161 - Created May 18, 2012 and submitted

Arvind Prabhakar
Added a load-balancing sink processor that uses default round-robin policy to select sinks from the group. In case of failure, it skips the sink and goes to the next. Can be configured to use random distribution of load instead of default round-robin semantics.

Also, this processor accepts implementations of sink selectors which can be used to route the load into various sinks. 
Introduced new tests and ran all existing tests. 
Review request changed
Updated (May 18, 2012, 5:33 p.m.)
Incorporated the review feedback and modified one of the testcase that had a very strict assertion for a state that had high probability of happening.

Ran all the tests.
Ship it!
Posted (May 18, 2012, 7:21 p.m.)