Fix indent and spaces
Split ICMP and ICMPv6 types on Firewall Rules

- Remove redundant declaration of $icmptypes and move it to a common
place (filter.inc)
- Add missing ICMP types for v4
- Add ICMPv6 types
- Adjust javascripts to show correct options depending of IP Protocol
- Hide ICMP type selection when protocol is IPv4+v6

It fixes #3389
Base URL must be specified when alturlenable on

I had a 2.1.5 system that I was wondering why the dashboard always said it could not check for updates. I discovered it had "Use an unofficial server for firmware upgrades" checked, but the "Base URL" field was empty.
That can easily be checked with input validation - might as well catch dumb things like that.
I thought about making it parse the string to see if it seemed like a "valid" URL. But so many strings seem like valid URLs:
var_dump(parse_url("abc"));
array(1) {
  ["path"]=>
  string(3) "abc"
}

It seemed a bit pointless to bother - if the user puts something in then hope that it might point to something some day.
Merge pull request #1381 from phil-davis/patch-8
Fix password confirmation name to make style working as expected. Fixes #3992
Regenerate pfSense.pot
Update Turkish translation file from last version available on old translation server
Update po from last pot
Regenerate Turkish mo
rc.initial.setlanip fix validation of CIDR within range

Currently this allows the user to input any number for the CIDR. I happened to try 44 for an IPv4 CIDR when playing.
This fixes that little bug - I think it is good to commit that first/separately so it can be identified apart from the other (y/n) checking/handling I am working on. Better to have separate commits for distinct bugs.
Merge pull request #1383 from phil-davis/patch-10
Update service providers xml to sync with upstream
Validation of y/n answers in setlanip

At the moment the user can answer "yes" to most of the questions, but then later code only checks if the answer is "y". Thus you can type in "yes" in some places, have it accepted, but actually the negative action is taken. That is weird and will mess up people who try typing a whole string starting with "y".
With this change it makes the user type one of "y", "yes", "n", "no". When they type 1 of those, it is turned into either "y" or "n". Then the existing implementation logic all works as expected.
Hopefully this is the "final" version that fixes the behavior of the (y/n) questions.
I also included the bit at 296-297 which adds the CIDR bit-count range to the prompt, so the user can see exactly what input is valid/expected there.
Redmine issue #4100
Merge pull request #1385 from phil-davis/patch-11
Where binding Unbound to *:53, set "interface-automatic: yes" so replies are sourced from the correct IP. Ideally this should always work this way, but setting this causes Unbound to bind to *:53, which shouldn't happen where specific interfaces are chosen. Ticket #4111
Tidy up "widgets" XHTML

Add CDATA sections to scripts
Add ALT to image tags and close image tags
DIV tag cannot be inside a STRONG tag, so swap them around
SCRIPT cannot be part of TR tag, so place the SCRIPT inside a TD tag but
hide it.
Add missing BR tags and fix display with pfsense_ng_fs theme. It fixes #4115
Fix password field name to apply correct style
Add a shortcut for unbound and enable it
Use newline to separate unbound custom options during config upgrade, it should fix #4104