Added an IP/IPv6 address parser.
Optimize dec_octet

The previous defintion of dec_octet produced a ton of LPeg code.  Reworking
it to have fewer constructions save space and since we're passing the
data through a function anyway, we can do range checking there.
Optimize IPv6

A similar optimization to h16 that I did to dec_octet.  Nearly cut the
program in half.
Convert into a usable module.