Use a more generic and reliable scheme to do surprise removals.

The first version relied on the backend device going to state=closed
which is generally ok. In cases like surprise removal during sleep
this does not work as well. It is better to use an explicit flag
to indicate the state of the device.

OXT-61

Signed-off-by: Ross Philipson <ross.philipson@gmail.com>
Merge pull request #13 from rossphilipson/xenbus_surprise_remove

Use a more generic and reliable scheme to do surprise removals.