Add support for custom error pages in 'nginx'

You can define a set of error pages in nginx server configuration (they
will be automatically protected from being accessed directly from the
outside).
Add custom redirect section in 'nginx' config

This patch adds 'item.redirect_from' key in nginx server configuration.
You can set it either with True/False or a list of domains and names you
want to redirect.

'nginx' role will create custom server section for redirected names and
redirect them to first domain listed in 'item.name' key. If
'item.redirect_from' is set to True, additional domains will be taken
from 'item.name' list; if it's set to a list of names, these will be
used instead.
Update CHANGELOG.md
Merge pull request #122 from drybjed/role/nginx

New variables in 'nginx' role, updated CHANGELOG.md
Move 'php5' nginx config to separate template

Options for PHP5 support in the generated nginx server configuration
files are moved to a separate template which extends 'default.conf.j2'.

Websites that require PHP5 support will need to have 'item.type: "php5"'
in their configuration hash to use new template instead of the default
one.
Remove templated nginx fastcgi_params

I'm switching to use packaged version if /etc/nginx/fastcgi_params
configuration file. This patch will restore the original file by
disabling the diversion and create temporary "diverted" file to not
cause nginx error on playbook run.

Temporary tasks will be removed in the future after all servers are in
a correct state.
Update CHANGELOG.md
Merge pull request #123 from drybjed/role/nginx

Updates in 'nginx' role
Rename 'newhost.yml' playbook to 'bootstrap.yml'

Playbook syntax is also cleaned up and comments have better
explanation what is going on. Fixes #84.
Remove 'changed' from a task name

This can interfere while searching for changed tasks in the Ansible
output.
Remove 'playbooks/secret.yml'

This playbook is not needed anymore. Fixes #82.
Remove 'githost' role

This role has been superseded by 'gitlab' role. Fixes #82.
Condense separate application playbooks together

Separate application playbooks are now put together in
playbooks/applications.yml. playbooks/local_nat.yml playbook is removed
because it's no longer useful, other roles can replace it. Fixes #85.
Symlink /var/lib/vz to /vz on OpenVZ hosts

/vz symlink is required for correct operation of vzmigrate script.
Update CHANGELOG.md
Merge pull request #124 from drybjed/bugfixes

Various bugfixes
Rename 'upstream_php5*' keys to 'php5*' in 'nginx'

For nginx server configuration, keys with 'php5*' namespace will be used
to configure the PHP5 template. Also, some formatting issues in PHP5
nginx server template are fixed.
Add 'acl' package to list of base packages

Thanks to this, Ansible should be able to modify file attributes
everywhere, which will be used for better web directories security, for
example.
Changed default nginx redirect code to 307

Previous status code (301 Moved Permanently) could be troublesome to
use due to browsers caching the URL. New code (307 Temporary Redirect)
should fix the problem. You can also define your own redirect code with
'item.redirect_code' option in nginx server template.
Switch GitLab roles to use 'ruby' role dependency

GitLab, GitLab CI and GitLab CI Runner roles will use 'ruby' role as
a dependency, which will by default install Ruby 2.1.