The Future trait

Initially added: Minimum Rust version: 1.36

In Rust 1.36.0 the long awaited Future trait has been stabilized!

TODO: this will probably be folded into a larger async section once we're closer to the next edition.