FIX: ErrorPage generating empty responses for 403/401 requests

Previously by setting the response status code inside the action, this prevented response bodies from being included due to 403/401 being matched by SS_HTTPResponse::isFinished() (which stops popular

I assume SS_HTTPResponse::isFinished() is valid for the permission error use case (and I would be hesitant to change it) so this simply moves the declaration of the response status code till after the parent has populated the body of the response.
ENHANCEMENT: Add 'Cancel' button to 'Add Page' form
Implement History.js logic for "Cancel" action
Merge pull request #898 from dnadesign/errorpagepermissions

FIX: ErrorPage generating empty responses for 403/401 requests
Fixing up scenarios for managing page permissions Behat tests.

Relies on changes from silverstripe-behat-extension:

silverstripe-behat-extension/pull/15
silverstripe-behat-extension/pull/14
silverstripe-behat-extension/pull/13
silverstripe-behat-extension/pull/12
Finished Page Permissions Behat Test