Issue #1972286 by darthsteven: don't check arguments on provision-save

we are not getting all possible contexts because there's no easy way
to enumerate them, so instead we just don't check
Issue #2005698 by lieb: Fixed Invalid argument supplied for foreach() Service.php:144.
remove duplicate cookie setting code, see #2013683

this code is not present in core's settings.php since at least Drupal 5.23
don't delete an ssl certificate when ssl is disabled

this would have destroyed the whole ssl.d directory, wheepee.
add extra safety: don't remove empty ssl keys
use proper IP address in SSL site template

we used to take only the first IP that was set in the server context.

instead we just don't set those IPs in the server context, as they date back
from when we had IP-based virtual hosting even on port 80, and set it properly
in the site context