Move wire pointer to wire_wait from wire_wait_list

The wire_wait_list tends to go off the stack more easily and so we get
crashes when a timeout expires. If the wire to wakeup is on the
wire_wait_t we can better handle its scope and avoid crashes.
Better fairness in wire_net

Do not let a single wire monopolize time when it has many consequtive
reads, let other wires get their time as well. It is fairly likely that
the reading/writing wire will actually take more time if it can't
complete in one shot so let the kernel buffers get ready for the next
operation instead of busy looping around it.