virtio-queue 0.3.0

virtio queue implementation
Documentation
# v0.3.0

## Added
- [[#148]]https://github.com/rust-vmm/vm-virtio/pull/148: `QueueStateOwnedT` trait that stands
  for queue objects which are exclusively owned and accessed by a single thread of execution.
- [[#148]]https://github.com/rust-vmm/vm-virtio/pull/148: Added the `pop_descriptor_chain`
  method, which can be used to consume descriptor chains from the available ring without
  using an iterator, to `QueueStateT` and `QueueGuard`. Also added `go_to_previous_position()`
  to `QueueGuard`, which enables decrementing the next available index by one position, which
  effectively undoes the consumption of a descriptor chain in some use cases.
- [[#151]]https://github.com/rust-vmm/vm-virtio/pull/151: Added `MockSplitQueue::add_desc_chain()`,
  which places a descriptor chain at the specified offset in the descriptor table.  
- [[#153]]https://github.com/rust-vmm/vm-virtio/pull/153: Added `QueueStateT::size()` to return
  the size of the queue.

## Changed
- The minimum version of the `vm-memory` dependency is now `v0.8.0`
- [[#161]]https://github.com/rust-vmm/vm-virtio/pull/161: Improve the efficiency of `needs_notification`

## Removed
- [[#153]]https://github.com/rust-vmm/vm-virtio/pull/153: `#[derive(Clone)]` for `QueueState`

# v0.2.0

## Added

- *Testing Interface*: Added the possibility to initialize a mock descriptor
  chain from a list of descriptors.
- Added setters and getters for the queue fields required for extending the
  `Queue` in VMMs.

## Fixed

- Apply the appropriate endianness conversion on `used_idx`.

# v0.1.0

This is the first release of the crate.