Future: some fixes re: handling of universal references
Summary:
Callables that are passed as rvalues to makeFutureWith should be
executed as rvalues.
Generally callables that get captured by value should be executed
as rvalues, to allow passing e.g. folly::Partial objects that contain
move-only objects like unique_ptr or folly::Promise.
`collect` would move out of parameters passed as lvalues.
Reviewed By: fugalh
Differential Revision:
D5120420
fbshipit-source-id:
1633c6b7e3fbb562f4d31e21d28c98b053de9912