Fixes for DHCP range validation when entering from console

subnet_start and subnet_end calculations were using the wrong vars for the IPv6 case. This is fixed.
DHCP end address must be >= start address- this code now checks for that. If the end address is < start address then it loops back to ask for the start address again.
Most of the diff is due to putting the "do-while ($not_inorder)" loop around the 2 prompts for start and end of DHCP range, and the inner code was indented.
This can all drop into 2.1 branch also, IMHO.