External hook to extend TransactionBuilder.FindCoin

Extends FindCoin to use a callback to try to find a coin if the requested outpoint is not found in the coins added to the builder.  The callback is responsible for finding the tx and constructing the appropriate kind of coin.

This facilitates signing of transactions that the builder did not build, and eliminates the need to AddCoin appropriate coins before signing "foreign" transactions.  Basically, this allows for "coin-on-demand" for signing.