tasks/task-mcuio.c: implement mcuio_send_reply_to_function

also change prototype of reply method adding pointer to input packet.
irq controller wire: remove now useless test code
add mcuio msg based irq controller function
event: add function for triggering immediate events
tasks/mcuio_bitbang_i2c_func.c: fix state machine reset on rd of status reg.

The MPU can legally read the status register while still in RECEIVING_DATA or
SENDING_DATA states (the irq is sent when hi-rx-watermark or lo-tx-watermark
is hit, so, if the MCU is fast enough, it can handle the irq while the buffer
is not yet completely full or empty).
tasks/task-mcuio: convert mcuio_function_request_handle() to receive packet ptr

Functions directly send requests as packets, so pass a pointer to a packet to
the mcuio_request event handler instead of a pointer to a struct
mcuio_function.
arch-atmega/uart-mux-yun.c: warn on missing mcuio data ready event
tasks/task-mcuio.c: print more details in case of data rdy handle timeout
tasks/task-mcuio.c: on debug, print message on input pipe read errors.
pipe.c, pipe_dev_trigger_event: on debug, print a message on trigger_event err.
ATMEGA, uart.c: print messages in case of overrun
MCUIO: add irq test function

This function sends an irq to the master once every
CONFIG_MCUIO_IRQ_TEST_HW_TICKS timer ticks. It can be used for
testing and debugging mcuio interrupts.
tasks/task-mcuio: fix misc warnings
ATMEGA, uart.c: enlarge buffer to 64 bytes

This is to avoid buffer overruns in high load situations (very frequent
message based irqs).
MCUIO: remove wire interrupt controller
introduce mcuio_ntohl/mcuio_htonl

We'll have to fix endianness stuff sooner or later.
mcuio_bitbang_i2c_func.c: new simplified memory map
mcuio_bitbang_i2c_func.c: fix a couple of trivial warnings
pipe: always warn on trigger_event() errors
tasks/mcuio_irq_controller_msg.c: do not use trigger_event_immediate

Could break packet output (an irq message could be sent in the middle
of another message).