Create quiche_callbacks.h

quiche_callbacks.h introduces the following type aliases:
  - quiche::UnretainedCallback (alias for absl::FunctionRef)
  - quiche::SingleUseCallback (alias for absl::AnyInvocable with && qualifier)
  - quiche::MultiUseCallback (alias for absl::AnyInvocable with const qualifier)

Those are meant to replace existing usage of std::function in QUICHE.

PiperOrigin-RevId: 536477899
diff --git a/build/source_list.json b/build/source_list.json
index c501c60..ae24505 100644
--- a/build/source_list.json
+++ b/build/source_list.json
@@ -46,6 +46,7 @@
     "quiche/common/platform/api/quiche_url_utils.h",
     "quiche/common/print_elements.h",
     "quiche/common/quiche_buffer_allocator.h",
+    "quiche/common/quiche_callbacks.h",
     "quiche/common/quiche_circular_deque.h",
     "quiche/common/quiche_crypto_logging.h",
     "quiche/common/quiche_data_reader.h",
@@ -1045,6 +1046,7 @@
     "quiche/common/platform/api/quiche_url_utils_test.cc",
     "quiche/common/print_elements_test.cc",
     "quiche/common/quiche_buffer_allocator_test.cc",
+    "quiche/common/quiche_callbacks_test.cc",
     "quiche/common/quiche_circular_deque_test.cc",
     "quiche/common/quiche_data_reader_test.cc",
     "quiche/common/quiche_data_writer_test.cc",