Fix warnings from repeated my
Don't rely on underflow to get max uint128 value
Rename variable for consistency
Fix calculation of last address for ::0/0

I added tests for the IPv4 version of this too, even though it worked fine
with IPv4.
Standardize on stringifying ::0 as ::0, not ::
Move 128-bit left shift fix to the right place