encode using >16 nibbles and BAUHN ID encode/decode

RF payload can now be saved in an array instead of a ULL variable. This
enables decoding and encoding packets which uses >16 nibbles. OSv2 uses
17 nibbles and therefore it now stores data in an array. All other
devices still uses the ULL variable.
OSv2 decoding works fine. However, OSv2 encoding has a problem. RF
packet is created properly, but the weather station device doesn't seem
to like it.

Also, decoding and encoding for BAUHN indoor power socket is added. The
remote cycles through 4 different (but unique) codes for each button.
Uses only 1 cycle count variable for all the buttons. As for encoding,
the socket seems to work for any of the 4 codes at any give time.
Added decoding and encoding for BAUHN outdoor power sockets
merged