Removed the existing mbox that is used to pass transactions from one
thread to the other, use a non-locking FIFO and a simple semaphore
instead.
Removed all notion of void* from the FIFO system, use the now generic
FIFO. Also started to rework the mirror.c code to use typedefs for
structs enums etc.
DO NOT USE. check_mbox is borken and needs changing. Currently
'functional' otherwise like this, but requires more testing.
Signed-off-by: Michel Pollet <buserror@gmail.com>