T3225
As per feedback from D14417, this diff forms part of a series of diffs to incrementally implement the key concepts from D14417:
```
1. Get a working API for N x p2pkh outputs (this diff)
2. Extend with N x op_return
3. Extend with N x slp outputs
4. Extend with N x p2sh outputs
```
Unlike D14417 however, this API is more aligned with the existing coinselect module in passing an object array of outputs rather than using a singular output ammount. It follows the [bitcoin transaction size calculator ](https://jlopp.github.io/bitcoin-transaction-size-calculator/) in taking in p2pkh as a script type rather than having separate functions based on the script type.
This is aimed at making it easier for subsequent updates for op_return, SLP and p2sh transactions.