Fix compare_name and implement according to Charset Alias Matching
Fix generate.py by eliminating the array sentinel values (Which are unnecessary and whose current usage with lower_bound is incorrect since required sorting order doesn't match) and by sorting the tuple by mib value to ensure that lower_bound is performed meeting its preconditions. As a consequence the recently added null checks in find_encoding and encoding_alias_view could be removed
Perform renaming of "IBBM904" enumerator according to spec
Eliminate mib values 33 (NATSDANO) and 34 (NATSDANOADD) according to spec
Make mib_from_page efficient by using binary search (Since the array is already sorted)
Make scoped_locale safer by making it non-copyable
encoding_alias_view: Eliminate not needed default constructor, fix <=> implementation
text_encoding: Add missing max_name_length
text_encoding: Eliminate unnecessary dependency to std::array and implement according to spec
text_encoding: Fix internal constructor regarding id::unknown to id::other mapping
text_encoding: Fix operator== implementation
text_encoding: Fix construction involving mib_from_page and call constructor accepting encoding name
Add missing hash specialization
main: Add further static assertions and runtime assertions to validate expected outcome
CMake: Add windows support by replacing sed call with simple batch text replacement