[libcxx][ranges] adds concept `sized_range` and cleans up `ranges::size`

* adds `sized_range` and conformance tests
* moves `disable_sized_range` into namespace `std::ranges`
* removes explicit type parameter

Implements part of P0896 'The One Ranges Proposal'.

Differential Revision: https://reviews.llvm.org/D102434

NOKEYCHECK=True
GitOrigin-RevId: d8fad6614923eea684f736e7d22fe54d5393f13f
diff --git a/include/ranges b/include/ranges
index 5401add..da443d7 100644
--- a/include/ranges
+++ b/include/ranges
@@ -50,6 +50,13 @@
   template<range R>
     using range_rvalue_reference_t = iter_rvalue_reference_t<iterator_t<R>>;
 
+  // [range.sized]
+  template<class>
+    inline constexpr bool disable_sized_range = false;
+
+  template<class T>
+    concept sized_range = ...;
+
   // [range.view], views
   template<class T>
     inline constexpr bool enable_view = ...;