arcyd-tester: refactor, _happy_path as a generator

Convert _happy_path() to a generator so that it will be easy to write
functions that change the behaviour of Arcyd and run _happy_path() over
a number of different Arcyd setups.

This means that we will be able to separate 'user scenarios' from
'Arcyd scenarios' and write both naturally as generators.

For example, we could combine an Arcyd scenario of migrating from one
Arcyd instance to another with the user scenario of the 'happy path'.

This is more natural to achieve with generators rather than classes
because we can write each scenario as a single function rather than
perhaps making a state machine.

This will also make it easy to run a number of _happy_path() and other
user scenarios at the same time to ensure they don't interfere with
eachother.

Test Plan:
$ ./precommit.sh
arcydtester: refactor, extract Arcyd scenario

Extract the  first 'Arcyd scenario' to test alongside the user 'happy
path' scenario.

Test Plan:
$ ./precommit.sh
arcyd-tester: refacor, rename _happy_path

Test Plan:
$ ./precommit.sh
arcyd-tester: remove "Update nothing"

Test Plan:
$ ./precommit.sh
arcyd-tester: remove timers, inject story deps

Simplify the scenario / story code paths by removing the timers and
injecting their dependencies.

Test Plan:
$ ./precommit.sh
arcyd-tester: refactor, extract _arcyon_action

Test Plan:
$ ./precommit.sh
phlgitu_fixture: fix docstring meanings
arcyd-tester: add _user_story_request_changes

Add and use a new user story, where the reviewer requests changes and
the author updates the review.

Test Plan:
$ ./precommit.sh
arcyd-tester: print arcyd interaction name

Test Plan:
$ ./precommit.sh
arcyd-tester: refactor, extract 'run_all_inter...'

Extract 'run_all_interactions' to seperate logic from the try, except
block.

Test Plan:
$ ./precommit.sh