Notifications: show them based on permissions (#11117)
* Notifications: show them based on permissions
Expand `.for_user()` to accept `resource=` parameter and return only the
notifications attached to that resource only if the user has permissions over
it. Otherwise, return an empty queryset.
Closes #11082
Related #11113
* Minor docstring change
* Keep APIv3 behavior
* Fix tests
* Make the `resource=` argument required