Return full issuer for DN with multiple attribute values

e.g. CN=Some Root CA,OU=Certificates Department,OU=(c) Copyright SomeCorp,O=SomeCorp,C=US
bring protocols on NAT edit page more in line with rule edit page
Handle firewall log filter regex input better bug #3689

If the user inputs an invalid regex in any of the filter fields, then a page full of "warning" messages appear in the GUI, about whatever is invalid. 
If for some reason the user wants to match a forward slash somewhere, then they have to realize to escape it, doing "\/" instead of just "/". Be nice to this special case, because the user does not necessarily know that "/" is being used as the delimiter in the preg_match call. Turn "/" into "\/" (when the "\" is not already put in by the user).
For other regex issues, suppress the warning output, using "@". When the user inputs some invalid garbage in a filter field, an empty filtered firewall log table will be displayed, rather than screens full of PHP warning output.
Update "pkg_edit.,php"

"custom_php_after_head_command", if the PHP code also contains
JavaScript ("squid_auth.xml" for example) then this will cause HTML
errors, as you are not supposed to have anything between the closing
HEAD tag and the opening BODY tag.

Add the CLOSEHEAD PHP variable, move the include HEAD.INC into the PHP
IF statement and manually close the HEAD tab, else just include HEAD.INC
Tidy up misc. widgets XHTML

captive_portal_status.widget.php
Remove NAME from TABLE tag, not valid in XHTML

carp_status.widget.php
Add missing closing TD tag

dyn_dns_status.widget.php and
installed_packages.widgete.php
Update TD class to single line

load_balancer_status.widget.php
Add quotes to missing TD background colour

traffic_graphs.widget.php
Tidy up HTML Boolean operator
Make NAME and ID in INPUT tag unique

wake_on_lan.widget.php
Remove B tag from "widgetsubheader", alread in CSS
Center message across all columns within table
Fix #3700 and other syntax issues:

- Remove -G parameter from pfctl since it doesn't exist anymore
- Initialize $old_router
- Fix sh syntax on variable assign, it couldn't have space before =
- Simplify logic
- Avoid flush states twice, if it was done on IP change, don't do it
  again if router also has changed
Be more precise to match members of a bridge interface, it should fix #3637
remove extra .
Fix #3702, make sure tunnel inside IP is set when interface changes
Fix td class
Fix a typo on variable name
Fix #3665, show IPSec tunnel description on status page
Do not expire already disabled users, it fixes #3644
Fix i386 default URL for snapshots
Bring the code of captiveportal up to speed with its module counterpart requirments
Merge pull request #1228 from ExolonDX/branch_master_05
Merge pull request #1229 from ExolonDX/branch-master_06
Merge pull request #1222 from phil-davis/patch-8
Replace Header() calls by lowercase
Merge pull request #1034 from vsquared56/master