Remove the boost/algorithm/string/case_conv.hpp dependency
Summary:
- Implements ParseNetwork unit test.
This commit implements a unit test that validates the ParseNetwork(std::string) implementation in netbase.cpp.
- Implements custom tolower and toupper functions.
This commit implements custom equivalents for the C and C++ tolower and toupper Standard Library functions.
In addition it implements a utility function to capitalize the first letter of a string.
- Removes the Boost case_conv.hpp dependency.
This commit removes the boost/algorithm/string/case_conv.hpp dependency from the project. It replaces the boost::to_lower and boost::to_upper functions with custom functions that are locale independent and ASCII deterministic.
This is a backport of Core PR13671
Depends on D2824
Test Plan:
make check
Reviewers: #bitcoin_abc, Fabien
Reviewed By: #bitcoin_abc, Fabien
Subscribers: Fabien
Differential Revision: https://reviews.bitcoinabc.org/D2825