NEW Cleaned up access checks, allow extension

Logic hasn't changed, but removed duplicate ADMIN check in DevCheckController.
BUGFIX Use httpError() in EnvironmentChecker

Security::permissionFailure() relies on the object extending Controller,
not RequestHandler, since it wants to use the redirect() API.