Adds WakerUpper and WakerUpperWaitStrategy

This patch adds a global object, WakerUpper, with which threads can
register when they are parked. The WakerUpper will then be responsible
for waking up those threads based on the specified criteria.

A WaitStrategy for the Disruptor based on the WakerUpper is included.

Change-Id: Ic2f43f48caa22bf19fe7759beaf02855ce89719d
Signed-off-by: Duarte Nunes <duarte@midokura.com>
Merge "Adds WakerUpper and WakerUpperWaitStrategy"