Update serial and msp code to allow MSP on multiple ports.

Work in progress.  In testing using bluetooth on uart2 and uart1
connected to configurator it was observed that there is corrupted
responses being sent via uart2 - ez-gui shows some garbled data for the
box names.  updates appear sluggish in ez-gui but some correct data is
getting through.

Enabled with:

set serial_port_2_scenario = 8
save
Limit MSP ports to 2 for normal usage scenarios.
Comment cleanup
Merge branch 'master' into msp-on-multiple-ports
Move 'boxes' out of ram and into flash - saves quite a bit of ram.
making boxes[] in serial.c static const to move them to rodata and free ~200bytes RAM
Instead of copying a profile from the master config into memory again,
just use it in-place.  This saves ~308bytes of memory.

Prior to this there were 4 profiles in ram all the time, the 3 main
profiles and a copy of one of them.

This commit was aided by a side effect of the work done to clean up the
output of the cli dump command since it is now easy to conditionally
apply the changes to the memory addressed used to read/write cli
variables.  See 8c3a869251e2886941776036d29c8a9437acb11b.
Merge branch 'master' into msp-on-multiple-ports

Conflicts:
	src/main/config/config.c
	src/main/io/serial_msp.c
Support MSP telemetry on ports marked as TELEMETRY instead of MSP, this
follows the pattern that HoTT and FrSky use.

Previously MSP telemetry was actually output on the MSP port, NOT the
telemetry port.

Baudrate for MSP telemetry currently fixed at 19200.