Switch away from std::iterator in BalsaHeaders

`std::iterator` was deprecated in C++17, in favor of just listing out all the type aliases one by one. This silences some warnings when building QUICHE standalone.

PiperOrigin-RevId: 698780451
diff --git a/quiche/balsa/balsa_headers.h b/quiche/balsa/balsa_headers.h
index 51599c0..2e06d1b 100644
--- a/quiche/balsa/balsa_headers.h
+++ b/quiche/balsa/balsa_headers.h
@@ -1179,10 +1179,14 @@
 
 // Base class for iterating the headers in a BalsaHeaders object, returning a
 // pair of string_view's for each header.
-class QUICHE_EXPORT BalsaHeaders::iterator_base
-    : public std::iterator<std::forward_iterator_tag,
-                           std::pair<absl::string_view, absl::string_view>> {
+class QUICHE_EXPORT BalsaHeaders::iterator_base {
  public:
+  using iterator_category = std::forward_iterator_tag;
+  using value_type = std::pair<absl::string_view, absl::string_view>;
+  using difference_type = std::ptrdiff_t;
+  using pointer = value_type*;
+  using reference = value_type&;
+
   iterator_base() : headers_(nullptr), idx_(0) {}
 
   std::pair<absl::string_view, absl::string_view>& operator*() const {