It seems that enhancing a task using an `after` block will not have desired
effect if the new task shares the same name (excluding namespace) as the task
being enhanced. In other words, `after 'deploy:failed', :failed do ...` will
not work (the block will never be executed). This behavior was recently
introduced in 5fcf3da.
To fix the feature test using this code, I renamed the task to be a unique name.
The test now works as intended.
Also, I noticed the task defined in `fail.rake` was sometimes not working as
intended, because the `shared_path` did not exist on the VM's filesystem. This
meant that `touch` was failing. Corrected by issuing `mkdir -p` first.
With these changes, all feature tests now pass.