Add overview and context docs and some typespecs

Also adds the "up" rounding strategy and renames "half_away_from_zero"
to "half_down".