By exporting the futures crate through the test_context crate, the code
generated by the macro can rely on `test_context` to access the future
crate. Otherwise, the code generated which requires access to the
"future" crate would end up residing in the code of a user of the
library, giving them `use of undeclared crate or module "future"`
error messages unless they added future as a dependency.
This allows the macro to return the value of the function being
annotated. For most testing, this probably shouldn't matter, but
considering it's simple enough to do I decided to add it in in case any
other test wrappers require it.