Fix vring handling

 - last_avail_idx, last_used_idx are properties of vring
 - SET/GET_VRING_BASE to/from last_avail_idx
 - SET_VRING_ADDR, get last_used_idx from used->idx
 - put_vring cleanup
 - process_desc - add to used the whole chain (not one by one)
 - process_avail_ring - last_avail_idx, last_used_idx increment
   on each iteration. Iterate until last_avail_idx until reach
   avail->idx.