Use ETag to improve performance of issue notes polling

Description

Improve performance of polling for issue notes by using caching with ETag as described in https://gitlab.com/gitlab-org/gitlab-ce/issues/26926.

  1. This is very unlikely to make the performance worse.
  2. It should provide quite generic mechanism that can be easily applied to other endpoints
  3. It will be implemented only in the Rails app
  4. It is performed before authentication and authorization to avoid querying the database on cache hit at all

Decisions

  1. Introduce new route /:namespace/:project/noteable/:target_type/:target_id/notes
  2. Modify frontend code to pass last_fetched_at as a request header