hostmot2: Introduce queue_{read,write} methods

Some hostmot2 hardware, such as the ethernet-based 7i80, benefits
from batching reads and writes.  This will be done with the new queue
methods, queue_read and queue_write.

For reads, first a call to llio->queue_read with normal addr, buffer, and
size args are made for each read entry.  Then a final ->queue_read call
is made with addr=0, buffer=NULL, and args=-1.  The same happens for
writes.

Cards which do not benefit from batched writes need not implement the new
methods.  Instead, hm2_register will fill the slots with a function which
delegates to the traditional read method whenever the size argument is
not -1.
hostmot2: move watchdog I/O to the read function

On ethernet-connected mesa hardware, each packet sent or received
has an appreciable amount of overhead.  By performing the watchdog
read during the regular tram read process, the number of packets per
servo period is reduced by one.

The hal watchdog function still exists and must be added to a thread
in order to detect that the watchdog has bitten.
hm2_eth: New driver for Mesa 7I80 ethernet cards
Merge branch 'jepler/hm2-eth-v3'