Add sign, and implement addition of BigInts
- Addition is based on elementary-school addition, where you carry a digit
  that overflows to the next place.  Overflow is dealt with by adding within
  a larger-sized container, putting the least significant bits in the proper
  place, and carrying the overflow over to the addition of the next place.
- Implementation thus requires the creation of a smaller type for storage,
  and a longer type for calculations so that overflow is not lost.
- Also added an ensure_size function to account for resizing the array of
  digits when overflow happens.
- Does not yet account for negative numbers.