Avoid conversion to CBigNum for simple multiplications

Implement a simple multiplication operator in uint256, and use it for the few cases where we used to convert to CBigNum for this.

Tests are included that verify the behavior is identical to converting to CBigNum, doing the multiplication, and converting back.

Overall goal: reduce dependency on OpenSSL where possible in core code.