Test everything when running rake test

Currently running rake test doesn't run either the cucumbers or the
javascript tests. This means CI doesn't correctly report if all the
tests are passing. This makes sure rake test runs all the different
suits we currently have on the project.
Remove at_exit and favour inline exiting

The at_exit was causing the return status of the task to be zero. Moving
it inline means the correct exit code gets returned and the tests
correctly fail if there is a failure.
Update test mock to latest results
Merge pull request #588 from alphagov/test-everything

Test everything on CI
Make promise mock work more like promise

This fixes the currently broken test. Promises are chainable and
previously this wasn't chainable. This makes the methods chainable.
Merge pull request #589 from alphagov/fix-tests

Make promise mock work more like promise