A CoinSelector is responsible for picking some outputs to spend, from the list of all possible outputs. It
allows you to customize the policies for creation of transactions to suit your needs. The select operation
may return a CoinSelection that has a valueGathered lower than the requested target, if there's not
enough money in the wallet.
Creates a CoinSelection that tries to meet the target amount of value. The candidates list is given to
this call and can be edited freely. See the docs for CoinSelection to learn more, or look a the implementation