Added RunLoopFuture.

This is a placeholder for a result that is going to be computed
using GCD on the main thread.  If the value has not yet been computed,
waitWithInterval will call [NSRunLoop runMode:beforeDate:] until it is.