Refactor OutputGroups to handle effective values, fees, and filtering
Summary:
Instead of having callers set the fees, effective values, and filtering
of outputs, do these within OutputGroups themselves as member functions.
m_fee and m_long_term_fee is added to OutputGroup to track the fees of
the OutputGroup.
This is a backport of core#17458 [2/2]
https://github.com/bitcoin/bitcoin/pull/17458/commits/9adc2f80fc14f11ee2b1f989ee7be71b58481e6f#
Test Plan: ninja all check-all
Reviewers: #bitcoin_abc, majcosta
Reviewed By: #bitcoin_abc, majcosta
Subscribers: Detetivepro1
Differential Revision: https://reviews.bitcoinabc.org/D10089