Fix checking DHCP end IP is in range

Cut-paste bug
Fix vpn_pppoe_get_id and stop duplicating pppoeid for multiple servers, it fixes #2286
Use correct vars for IPv6 when checking subnet start and end
Check that DHCP end IP is >= DHCP start IP
Fix saving of voucher sync settings.
Reduce the total minutes by the remote minutes used, do not use the value directly. Otherwise the voucher will be cut short or listed invalid when it otherwise should have time left over.
Correct removing the ip addresses from an interface!
Use proper function to check for ipaddr and also do not call the module ip set function since its only v4 fro now
Add checkbox and logic to disable forwarding HTTPS/SSL (Port 443)
connections to the captive portal if HTTPS logins is enabled.
Avoid dashboard divide by zero errors
Make sure to give the zone a name during the upgrade, or else it comes through with a blank/null name.
Remove 'deny unknown clients' option from DHCPv6 since it's not supported, it fixes #3364
Fix DHCP lease time display, strftime already convert it to local timezone, so we no need to calc offset
Remove not relevant comment now. Also make the operation clear to avoid priority issues.
Switch to a while loop to make things clear and readble. Also properly set zone dedicated rules in the rules/pipes DBs to properly release when a zone is deactivated
Properly initialize this
unset these values to not confuse php
On first run REVIOUSSTATUS doesn't exist, so it cannot be UP or DOWN, invert the logic to fix this. While I'm here, check if file exists before cat it
Save status even if no script is executed
test only does integer comparison, use bc to compare float