Initial Debian packaging

This basic packaging should mostly match the current RPM packages.
tools/setup.sh: parameterize project name and associated user

Instead of hardcoding the project name and its associated user, use
variables since the Debian package uses tuleap/www-data everywhere while
the RPM still uses codendi/codendiadm in numerous places.
tools/setup.sh: do not hardcode the database name and database user

Instead let setup.sh define them during initial installation.
tools/setup.sh: factorize 'rpm -q' checks in a distro-agnostic function
tools/setup.sh: cleanup the code to input passwords

Factorize the logic in the input_password function and fix indentation at
the same time.
tools/setup.sh: check availability of rpm, service and chkconfig on RHEL only

Also drop variables for unused commands and add some missing variables
to the availability check.
tools/setup.sh: only verify RHEL/CentOS release for RHEL installation profile
tools/setup.sh: use distro-specific variable for Tuleap cache directory
tools/setup.sh: do not fiddle with $PROJECT_ADMIN account on Debian

Since $PROJECT_ADMIN is www-data which is pre-existing and is a system
account.
tools/setup.sh: regroup related code in new functions for more readability

Also introduce install_dist_conf() to install our own configuration files.
tools/setup.sh: generalize code to manage services

We now use distro-agnostic functions to enable and start services.
Parameterize forgeupgrade-config.ini.dist to cater to varying paths

And modify tools/setup.sh to replace the new template parameter.
tools/setup.sh: leave mysql_host unset when using --auto

Because when it's set, the script assumes that there's an associated
root password that works. And when in reality there's none, it will
try to use the root password that we just generated and that has not
yet been recorded.
tools/setup.sh: use pycompile when available to byte compile mailman's config
debian: do not try to run language generator if not yet setup

The script requires local.inc which is created by tuleap-install's
setup.sh. So we must only call it when we know that it has been created.
tools/setup.sh: add Apache configuration for the Debian package
tools/setup.sh: adapt vsftpd configuration to also work on Debian

The configuration file is in a different place (/etc/vsftpd.conf). Also
improve the update logic to be more resilient against different default
values in the configuration file.
tools/setup.sh: update DNS configuration to also work on Debian systems
tools/setup.sh: backup nsswitch.conf only on the first modification

Otherwise the backup is no longer the initial file but the file with the
two first changes already applied.
tools/setup.sh: codendi.zone doesn't exist, it's codendi.zone.dist

This bug was present even before the recent refactoring work required
for Debian support.