Fixing IPv6 allocation with explicit IP

RM9413, RM9414, RM9419. Includes 2 new unit tests and some
cleaner boolean logic.
we don't use any variables here.  but below on line  879 we do.  just looking for consistency.