test_environment: do away with vde_switch and use VirtualBox

This commit introduces a big change in the way of running the tests, but
it is necessary due to the nature of the previously used vde_switch.

The problem there was is that we cannot simulate the behaviour of different
machines, even having different network interfaces.

Therefore, this commit subistutes it at the same time as it simplifies the
design of the test environment and groups de functionality of setting up
and tearing down the testt environment into the same file.

All this is documented in test/doc.txt, along with a detailed
description of all the steps followed in the process.
test_environment.sh: fixups relative to dhcp and network availability

Now we create and configure a new interface in VirtualBox, and assign it
to the VMs instances. The IP addresses cannot be strictly assigned, so
they have been erased from the config file and they can be retrieved with
a command (see vm_get_ip_address() function).

Also, when a virtual machine is run we wait until it is up (answering to
pings).
tests/env_management.py: Change the way of specifying configuration

This change is necessary because we need to store different things in the
configuration file: devices (corresponding to virtual machines), global
network interface to be used, and probably more things in the future.

A workaround for this would have been to make the sections start by
"Device" and add a "Global" section, but that sounds overcomplicated and
this approach is much neater.
tests: update config file with network interface created in VirtualBox
test_environment: use hostonly option in VirtualBox
test_environment.sh: fix the routing towards the virtual machine

VirtualBox assigns the network interface an IP address reachable from the
real machine, and an internal IP address reachable by the hosts. By setting
these two as the same IP address there is no need to update the routes
table manually.