CA-134972: fix a tight loop getting xenops updates

Each barrier injected among the xenops events now holds a snapshot of
the event id counter as well as the set of events. The get function uses
this to select only the barriers newer than the "from" parameter, and
returns it as the "id of latest thing found" if it is newer than all the
events. If there are no barriers or events to return then the function
waits: this behaviour is unchanged, but now there will be no barriers to
return if there are barriers but they are all too old to be of interest
to the caller.

This means a client no longer keeps calling repeatedly with the same
"from" and getting back the same result (one or more barriers, no events
and the same next-id as the "from" param).

Because each barrier has an extra int associated with it, the formats
for RPC and Dump have changed in a backwards-incompatible way.

This is based on commit b68d6003 in the xs64bit-ring3 branch of the
xen-api repository.

Signed-off-by: Thomas Sanders <thomas.sanders@citrix.com>
Merge pull request #76 from thomassa/tr3-xenopsd-tightloop-CA-134972

CA-134972: fix a tight loop getting xenops updates