Emit the correct MUL constant widths

It turns out the MUL width inference rules are different than I
thought.  If we have "A <- B + C", we need the width of A to be the
sum of the widths of B and C -- I thought it was that B and C had the
same width and A was double their width.

This adds some extra logic to make export constants of the correct
width to Flo files.  Like before, it's a bit of a mess and fails when
there's two constants, but I think it's good enough for now...
Merge pull request #184 from palmer-dabbelt/mul_const_width

Emit the correct MUL constant widths