Uncomment a line of code that was commented by accident
Add the ‘#delay’ tag to unit tests for actions that use intervals

This allows us to execute

    busted --exclude-tags=delay

to run the test suite while skipping the interval-related tests which
take longer to run than the rest of the suite combined.  In other
words, this is just for time-saving convenience.
Refactor common code for adding actions

The logic for the methods addAction() and addActionWithInterval() is
almost identical.  This patch factors out their logic into a function
that is private to Luvent and rewrites the methods accordingly.
Give all actions an ID

This will allow us to find actions by something besides the value of
their ‘callable’ property.  As the source comment describes, that will
be useful to do things such as remove actions that we created by
giving the addAction() method an anonymous function; we would not have
access to the anonymous function to give to removeAction() later, but
we could teach removeAction() to accept IDs as well.

This patch also redefines the equality test for actions so that it
compares their IDs, which semantically makes more sense to me.
Add a unit test for how we want to remove actions using IDs
Rename isValidActionCallable() to simply isActionCallable()

We want to know if an action is callable, not if a ‘valid action’ is
callable, which is how some may misinterpret the function name.
Return the ID for an action when adding it to an event

We will be able to use this ID in conjunction with the public API to
refer to the actions we associate with events.  This will be easier
than the current system which requires us to maintain a reference to
the actual function or table an action uses.
Teach findAction() to accept action IDs

This patch makes it possible for us to find actions in an event using
nothing but the ID returned by methods like addAction().  As a
side-effect we can now remove actions using only the ID since the
implementation for removal relies on findAction() to figure out which
action to get rid of.

With this patch in place all current tests will succeed.