Rewrite the unit tests to introduce setActionInterval()

We will use this method to replace addActionWithInterval() and these
tests act as examples of how we want the API to appear.
Completely remove addActionWithInterval()

We are going to replace this with an API for setting the properties of
actions so that we do not need variants of addAction() for every kind
of action that uses different properties, e.g. intervals.
Implement setActionInterval()

This patch also makes some slight changes to the test suite to remove
some unnecessary code for when we test interval delays.
README: Document setActionInterval() and mention action IDs
README: Fix a typo in the first paragraph