2.2.1: FEATURES_OK.

Based on MST's ideas, but a bit simpler.  VIRTIO-30.

FEATURES_OK locks feature negotiation in, and must be done first.  This
provides for certainty if we make dramatic changes which need to be known
before the driver touches the virtio rings.

You can read this back: if a device doesn't like the features set you chose,
it may refuse to set that.

DRIVER_OK is made stricter: it *must* be done before the device is live.

The latter requirement means that Linux drivers (for example) will change.
Currently the driver's init function is invoked, then DRIVER_OK is set.
Now the Linux block driver scans the partition table in its init function,
it will have to set DRIVER_OK immediately before that.

Signed-off-by: Rusty Russell <rusty@au1.ibm.com>