Allow ConvertBits() to succeed on unpadded zeros
Summary:
The behavior of ConvertBits() has been simplified in D572 from it's
original form, and would return false when there is any remaining bit
and padding is disabled.
This diff relaxes this requirement to be in par with the original
behavior (see
https://github.com/bitcoin/bitcoin/pull/11167/files#diff-b5877ad42a7dbee9a99cbf0596977fd9).
The call will now returns true if the remaining bits are all zeros.
This is a prerequisite for backporting PR11630.
The cash address decoding is updated to now check the output of
ConvertBits()
Test Plan:
ninja check check-functional
Reviewers: #bitcoin_abc, deadalnix
Reviewed By: #bitcoin_abc, deadalnix
Subscribers: deadalnix
Differential Revision: https://reviews.bitcoinabc.org/D5734