Mapping for errors

Changed GetLastError to return VirError instead of a simple string.
VirError helps getting easy access to the error code, level and domain.
VirError implements the error interface for easy use.
Comment out VIR_ERR_CPU_INCOMPATIBLE
Added in 1.2.6, not available in 1.2.4
Domain events API implementation

The big amount of callbacks from libvirt C API has been mapped to
different details structs in the Go API.
Avoid libvirt outputting to stderr
Added Dockerfile to run the tests.

Vagrant has the inconvenient to be depending on VirtualBox, while
docker is just easy to setup. To run the tests, just run those two
commands:

   sudo docker build -t libvirt-go:master .
   sudo docker run -ti --rm --privileged libvirt-go:master go test

This could be made even easier through a simple Makefile
Integration test: fixed GetCPUStats to depend on the host number of CPUs

This fix allows the test to work even on machines that have more than
one CPU. This is needed for the integration tests to pass when running
in a docker container.
/etc/network/interfaces is needed for netcf to list interfaces
Add a Makefile to hide the docker commands and make it all intuitive