Badsign347 - Accept Java's inability to represent unsigned quantities and work with it instead of against it.

Keep our "0x" prefix inside the potential sign character and explicitly remove it before converting the string representation to a BigInt.

This should resolve issue #347