Fixes #1039:
* order of logical switches calculaton now predicable: always from L1 to L64
* each flight mode has its own logical switches context (RAM usage multiplied by number of flight modes)
* resolved problem of non-reentrancy of getSwitch() function
CRLF
gtest correction needed because of changed order of logical swithces calculation
Cosmetics
Bugfix
Renamed lswReset() to logicalSwitchesReset()
Added PACKED to logical switches data structures
Cosmetics
Delay and Duration using 1 x uint8_t instead of 2 x uint32_t.

Timing for delay and duration is not as accurate as before, max error possible is +-100ms.

Worst case example: duration set at 0.1s will produce output pulse of width between 10ms (min mixer loop  time) and 200ms.

But RAM saving is BIG, unfortunately only on ARM.
Reduced number of logical switch context to 2. Now we have only active fm context (lswFM[0]) and other context that is used for all other fms (lswFm[1]).

Much smaller RAM usage, but possible (I beleave unimportant) errors when trasitioning between more than two flight modes.
Cosmetics
Gtests problems
Another gtests failure
Cosmetics
Indentation
Bad structure alignment (the compiler does the job, but it's better to
write it so we see where are the lost bits)
A couple of changes on top of projectkkglider branch
Gtests KO
This initialization was lost in the battle
Merge pull request #1119 from opentx/bsongis/logical_switches_issue_1039

Bsongis/logical switches issue 1039