util: add ParseUInt16(), use it in SplitHostPort()
Summary:
This is a backport of core#21328 [2/3] and core#21488 (unit tests)
https://github.com/bitcoin/bitcoin/pull/21328/commits/2875a764f7d8b1503c7bdb2f262964f7a0cb5fc3
Test Plan: ninja all check-all bitcoin-fuzzers
Reviewers: #bitcoin_abc, Fabien
Reviewed By: #bitcoin_abc, Fabien
Subscribers: Fabien
Differential Revision: https://reviews.bitcoinabc.org/D11078