Changed include strategy for repos

The original strategy led to duplicate IDs when the modules *.agent,
*.server, *.frontend were in different salt environments. With the new
one we have different repo IDs, one per Zabbix component. This allows
sls file "overrides" to have different repos for different components.
Eliminated includes of mysql.* and fixed import
Fixed require: should be service instead of pkg
Add support for Debian
Correct jinja
Added macro files_switch and adapted sls files

This macro simplifies the selection of template files based on the
grains of the minion (by default 'id'). This is part of the TOFS
–Template Override and Files Switch– pattern (to be) described in the
README.

Additionally, now we look for <file>.conf first and then for
<file>.conf.jinja. This way we have the chance of having semantics for
"non templated" conf files.
Added debconf for zabbix-frontend-php pkg

Now it doesn't mess with apache confs.
Improved RedHat support in zabbix formula
Fixed permissions of /etc/zabbix/web
Added file with zabbix repo gpg key

Now it's not hardcoded in the sls file which makes it cleaner :-)
Added support for dbsocket in zabbix formula
Fixed include in repos of zabbix components
Refactored user conf and added user_groups pillar

Now we support adding the zabbix user to additional groups.
Renamed mysql schema files to salt-provided-*

This avoids conflict with the schema files installed by the
zabbix-server-mysql package.
Added include in mysql.schema to assure order
Changed grains[] to salt['grains.get']()
Updated doc
Fixed small syntax error, spaces and style.