CA-140252: Hack for legacy PV tools evtchn alignment

Since the new ioreq server in Xen, one of its event channels is now allocated
on-demand rather than eagerly at start-of-day. Therefore, when the toolstack
comes to allocate event channels for Xenstore and the console, they are
shuffled down by one.

This is fine for HVM guests with modern PV tools since they re-read this
information upon each resume. However, legacy PV tools do not and rely on these
to be the same across suspend/resume.

This patch adds an explicit workaround to realign the event channels as they
were on previous versions by having Xenopsd allocating another channel before
the two it needs. As this is done with evtchn_allocate_unbound and the guest
will not bind it, it should not affect event channel scalability in dom0.

The workaround has been made explicit and a configuration option in Xenopsd so
that we can only carry it until such a time that we no longer support HVM
guests using these legacy PV tools, at which point it can be removed.

Signed-off-by: Si Beaumont <simon.beaumont@citrix.com>
Merge pull request #91 from simonjbeaumont/ca-140252

CA-140252: Hack for legacy PV tools evtchn alignment