Fixes in external rx buffer logic and adds possibility for external rx status

An external rx buffer, possible using the macro `MAVLINK_EXTERNAL_RX_BUFFER` is necessary in the case of multiple object files linked together, as each will have a different instance of the static `m_mavlink_buffer`. This is also necessary for the `m_mavlink_status` variable, however there was no macro for this functionality.

Also corrected some errors. The `#ifndef` directive only works for macros, not variables, and I believe that the inline identifier was forgotten in the definition of `mav_array_memcpy`.