A Unifying Framework for Parallel and Distributed Processing in R using Futures