Return GWG IP protocol (version) when no gateway IP

This is a resubmit of an older pull request I had closed. It came up again in the forum, with a user setting up a VM environment and wondering why he cannot make policy-routing rules to a gateway group. The gateway group names did not display because all his WANs were down at the time and so the existing code was too dumb to determine the IP protocol (version 4 or 6) when none of the WANs in the gateway group actually have an IP address yet.
Use return_gateway_groups_array() to build correct GWG list

Now return_gateway_groups_array() always returns at least the IP version 'ipprotocol' of each GWG, even if all its members are down at present. It is better to use this to check what IP version the GWG is. The previous check was using the IP address of the first member of the GWG to deduce 'ipprotocol'. That would fail if the WAN was DHCP and was down.
Tidy "gateway name - IP" in dropdown list

While I notice this also, for a plain gateway, the current IP address is also listed in the dropdown list text, like "WAN_DHCP - 10.42.11.1". If there is no IP address currently, it might say "WAN_DHCP - dynamic". But for some DHCP gateways that have not had any non-default manual settings done, it can say "OPT1_DHCP -". This gets rid of the silly-looking "-"
Tidy up GWG dropdown selection tests

Tested this making a new rule, and editing existing IPv4, IPv6 and IPv4+Ipv6 rules, and switching the IP version on an existing rule. Seems to work!
Added support for UEFI booting to Network Booting configuration.
	modified:   conf.default/config.xml
	modified:   etc/inc/services.inc
	modified:   usr/local/www/services_dhcp.php
Merge branch 'master' of https://github.com/Doncuppjr/pfsense
Add missing option code for uefi booting
	modified:   etc/inc/services.inc
Fix typo on var name
Remove broken 'dynamic6' gateway, we already have ipprotocol to tell us the IP version, leave it more simple using only 'dynamic'. It helps #3484
Validate if src OR dst have IP address set when protocol is IPv4+v6. Fixes #3499
Put added option in dhcp config instead of dhcpv6 config.
Use empty function instead of <> "" for null test in dhcp network booting config section.
	modified:   etc/inc/services.inc
s/unlink/unlink_if_exists/
Fix syntax
Remove alert confirmation to delete a package, today user need to confirm twice
Merge pull request #992 from Doncuppjr/master

Add UEFI support to Network Boot options.
Merge pull request #984 from phil-davis/master

Return GWG IP protocol (version) when no gateway IP