This implements the coloring step §2 of ALP as well as the assignment of outputs of SLP, see the respective specs for details.
ColoredTx::color_tx takes a Tx as input, parses it as SLP or ALP, and assigns tokens to outputs according to the spec.
We keep track of the failed parsing and failed coloring attempts so we can later report them to the user.
Depends on D15030.