Rename telemetry.c to telemetry_frsky.c in preparation for adding
another telemetry provider
Cleanup telemetry code.  Remove duplicate logic.  Improve readability.
Add support for another provider.  Change default softserial baud rate
to match the speed used by FrSky telemetry.
Allow user to use telemetry on softserial port 2.  Should have been in
previous commit.
Move common telemetry code to telemetry_common.c/.h
Removed unused variables.

Compiler warning were generated when compiling using GCC with
-Wunused-variable
Enable HoTT as a telemetry provider.

Import cGiensen's HoTT telemetry implementation - untested.
Improve HoTT code readability.  Add protocol overview comments.
Improving code readability by aligning comments with code and removing
comments that duplicated code.  Comments are harder to refactor than
code and become stale.  Updating default and limit values for some
settings to use enum values.
Adding author information and linking to original source for some of the
HoTT code - https://github.com/cGiesen/MultiHoTT-Module
Removed needless memory copy operation.  Removed checksum bytes from
HoTT packet structures, checksum is always sent by the response sending
code.  Reduce ram usage by 173+ bytes.  Corrected accreditations.
Updating documentation to match code.  Replaced comments that commented
out code with #ifdef blocks because commented out code is not found by
refactoring tools.
Move port telemetry port configuration logic into common telemetry code.
Update software serial to support RX, TX or RX&TX modes.  Update serial
API to allow on-the-fly changing of serial port mode.  Update HoTT to
change serial port mode when transmitting.
Merge remote-tracking branch 'multiwii/master' into hott-telemetry

Conflicts:
	src/drv_softserial.c
Merge branch 'softserial-track-errors' into hott-telemetry

Conflicts:
	src/drv_softserial.c
Ensure that telemetry state is always updated after initialising
telemetry so that providers can configure the telemetry port as
applicable.
Cleanup HoTT protocol structure, verified against latest code in here:
https://github.com/obayer/MultiWii-HoTT/blob/master/MultiWii_2_1/HoTTv4.ino
Fix an extra byte being sent between the HoTT data and the checksum.
Update HoTT physical connection details (only one diode needed).
Update common telemetry code so that it verifies that the telemetry
configuration is valid.

Internally this uses a flag so that the configuration is not continually
verified.
Rename some telemetry variables and methods to better indicate the
intent of the code and thus the readability and maintainability of it.
Fixing typo in telemetry port configuration logic.