tests: Let http & rsync alive before restarting VM

To test edeploy updates, it's mandatory to let thoses services alive
when restarting the installed VM
edeploy: Quality commit

Let's make all if {} indent look the same.
edeploy: Fixing RET comparaison

If no 'pre' got executed, the RET value isn't defined and led to a bash
error.
edeploy: Preemptive exit if no exclude file found

If no exclude file got found, rsyncing would destroy the host as the
rsync with delete mode will try to empty many local dirs as remote
server doesn't have them mounted.

This commit is also removing the fake exclude list during verify. This
is not a good idea to estimate that an hardcoded list of directories
will be ignored while it's not the case. This give a false perception of
what will be the real upgrade. If we find the exclude let's use it
directly but nothing else.

This commit is made for reinforcing the upgrade procedure to avoid
smashing systems while upgrading.
edeploy: Fixing upgrade mecanism

I don't like this kind of commit name... I should have split more this
commit.

- replace hardcoded /var/lib/debootstrap by a variable to make it easily
  changed
- updating metadata before verify
- adding a function to update metadata (shared by verify & upgrade)
- adding test-upgrade feature to check what files will be added/removed
  if upgrading : check was only checking the current release
upgrade-from: Creating metadata structures

When creating an upgrade path, let's also create the default structures:
- /var/lib/debootstrap/* directories linked to this upgrade
- an exclude file filled with all the usual files and directories not to
  update

Without any exclude file or by trying to rsync empty dirs (not mounted)
or files created at boot time, we could have a very bad upgrade
scenario like killing /dev/ or grub.

This patch add a default series of files and directories to take
care-of. This is not an absolute list but the smallest one that should
match all linux distro. It have to be tuned by users but at least it
gives a good start.
tests: Adding writeback for HDDs

There is no need having a direct IO when using test targets.