add custom matcher toContainDeferredValue
add Future.thread -- semantically equivalent to chained maps
add failure to toContainDeferredValue, start using in rest of spec file