Domain events API implementation

The big amount of callbacks from libvirt C API has been mapped to
different details structs in the Go API.