WIP feature(gatekeepers): gatekeeper functions provide context to the forward hook

See #5792.
Note - searching learn.elgg.org doesn't return any results...
http://docs.elgg.org/wiki/Redirect_could_not_be_issued_due_to_headers_already_being_sent
This doesn't appear to have been ported over (not that it's super helpful)