text: Title: [docs] clarify that Blueprint.before_request is not for all requests
  Body: # Summary
  
  [The documentation for `Blueprint.before_request`](https://flask.palletsprojects.com/en/2.2.x/api/?highlight=before_request#flask.Blueprint.before_request) says:
  
  > Register a function to run before each request.
  
  This is not quite true. This decorator will only register a function to be run before each request *for this blueprint's views*. 
  The documentation today made it seem to me like `before_request` does what `before_app_request` does.
  
  I think the docs should be amended to qualify when the registered functions get run, and link/compare to `before_app_request`. 
  
  I know it seems like overkill, and you're probably wondering why I didn't notice the documentation for `before_app_request` right above this. I'd clicked on an anchor from search results, so `before_app_request` was off-screen. Since `before_app_request` doesn't exist on a `Flask` object, and since the documentation for `before_request` sounded like what I wanted, it didn't occur to me to scroll up.
  
  # MWE
  
  Just to clarify the example:
  
  This code fails with `before_request`, and succeeds with `before_app_request`:
  
  ```
  from flask import Blueprint, Flask
  
  simple_page = Blueprint('simple_page', __name__)
  
  @simple_page.route('/')
  def show():
      return ("Hello world", 200)
  
  hook_bp = Blueprint('decorator', __name__)
  
  # global var to be mutated
  count = {'count': 0}
  
  @hook_bp.before_request
  def before_request():
      print("before_request hook called")
      count['count'] += 1
  
  app = Flask(__name__)
  app.register_blueprint(simple_page)
  app.register_blueprint(hook_bp)
  
  r = app.test_client().get('/')
  assert r.status_code == 200
  assert r.text == "Hello world"
  
  assert count['count'] == 1
  ```
  