Collecting `expects` and `promises` when called multiple times

Users can now call the `expects` and `promises` macros multiple time
from an action declaration. The expected and promised keys are now
accumulated.