switch bigint dependency to bignum

`bigint` and `bignum` have one minor difference in their implementation of `toString(16)`. `bignum` pads to an even number of characters, while `bigint` does not. The difference causes several tests to fail. Instead of changing the behavior elsewhere this patch simply strips the leading `0` from the string if it's present.

see #61