Add context.respawn()

Allow respawning of the current Async with the same options.
A max_respawns parameter limits the number of respawns to avoid
infinite respawning.

@beaulyddon-wf @robertkluin-wf @tannermiller-wf