balloon: Improve optional queue handling
balloon: Improve optional queue handling

Make status queue properly optional. As part of this, refactor how the
optional event queue is handled, to prevent exponential growth in the
number of select statements needed to handle optional queues.

BUG=None
TEST=ARCVM boots and balloon works

Change-Id: I55d59875b7e0223a57f1c8c5d0e0d8a4a6b9a26c
Reviewed-on: https://chromium-review.googlesource.com/c/crosvm/crosvm/+/3779083
Tested-by: David Stevens <2f87ba95ff5d327328bd68c2e86a4d9f2ba99bd0@chromium.org>
Reviewed-by: Daniel Verkamp <72bc170b46ec491f7bdd4359a1c0bfed274de40c@chromium.org>
Commit-Queue: David Stevens <2f87ba95ff5d327328bd68c2e86a4d9f2ba99bd0@chromium.org>

google/crosvm,google/crosvm,google/crosvm,google/crosvm