mavlink_helpers.h: check for #ifdef preprocessor conditions instead of #if where appropriate, to avoid undef warnings

without this, I see compiler warnings like the following, since it’s testing #if on a symbol that is not defined:

In file included from src/mavlink/c_library/common/../protocol.h:41:0,
                 from src/mavlink/c_library/common/common.h:30,
                 from src/mavlink/c_library/common/mavlink.h:25,
                 from src/hostprotocol.h:8,
                 from src/dsm.h:5,
                 from src/dsm.cpp:1:
src/mavlink/c_library/common/../mavlink_helpers.h:19:5: error: "MAVLINK_EXTERNAL_RX_STATUS" is not defined [-Werror=undef]
 #if MAVLINK_EXTERNAL_RX_STATUS
     ^
protocol.h: avoid redundant declaration of mavlink_helpers

otherwise, mavlink_helpers routines are defined twice - in protocol.h *and* in mavlink_helpers.h and i see warnings like:

In file included from src/mavlink/c_library/common/common.h:30:0,
                 from src/mavlink/c_library/common/mavlink.h:25,
                 from src/hostprotocol.h:8,
                 from src/dsm.h:5,
                 from src/dsm.cpp:1:
src/mavlink/c_library/common/../protocol.h:46:73: error: redundant redeclaration of 'mavlink_status_t* mavlink_get_channel_status(uint8_t)' in same scope [-Werror=redundant-decls]
Merge pull request #243 from liamstask/c-header-warning-cleanup

C header warning cleanup