Fix `map()` in `attempt` class

By allowing maps to void, which was unsupported.
Fix `next()` and `then()` in `future` class for `void`
Integrate new future implementation in the rest of the code