Changed When to WhenProgress<TResolve, TProgress> and added When<T> extends WhenProgress<T, Void>
Added resolve/reject methods to When to return a Promise<T>
Updated README to reflect new Promise<T> interface
Added FulfilledRunnable<T> and FailedRunnable<T> convenience interfaces
Renamed FailedRunnable to RejectedRunnable and deprecated Value<T>.value and Value<T>.error, use getters/setters now.