libosmocoding: migrate transcoding routines from OsmoBTS

There are some projects, such as GR-GSM and OsmocomBB, which would
benefit from using one shared implementation of GSM 05.03 code. So,
this commit introduces a new sub-library called libosmocoding, which
(for now) provides GSM, GPRS and EDGE transcoding routines, migrated
from OsmoBTS.

The original GSM 05.03 code from OsmoBTS was relicensed under
GPLv2-or-later with permission of copyright holders (Andreas Eversberg,
Alexander Chemeris and Tom Tsou).

The following data types are currently supported:

 - xCCH
 - PDTCH (CS 1-4 and MCS 1-9)
 - TCH/FR
 - TCH/HR
 - TCH/AFS
 - RCH/AHS
 - RACH
 - SCH

Change-Id: I0c3256b87686d878e4e716d12393cad5924fdfa1
diff --git a/tests/coding/coding_test.ok b/tests/coding/coding_test.ok
new file mode 100644
index 0000000..5030e4d
--- /dev/null
+++ b/tests/coding/coding_test.ok
@@ -0,0 +1,21 @@
+xcch_decode: n_errors=60 n_bits_total=456 ber=0.13
+xcch_decode: n_errors=60 n_bits_total=456 ber=0.13
+xcch_decode: n_errors=60 n_bits_total=456 ber=0.13
+tch_fr_decode: n_errors=8 n_bits_total=378 ber=0.02
+tch_fr_decode: n_errors=8 n_bits_total=378 ber=0.02
+tch_fr_decode: n_errors=10 n_bits_total=456 ber=0.02
+tch_fr_decode: n_errors=10 n_bits_total=456 ber=0.02
+tch_fr_decode: n_errors=10 n_bits_total=456 ber=0.02
+tch_hr_decode: n_errors=10 n_bits_total=211 ber=0.05
+tch_hr_decode: n_errors=10 n_bits_total=456 ber=0.02
+tch_hr_decode: n_errors=10 n_bits_total=456 ber=0.02
+tch_hr_decode: n_errors=10 n_bits_total=456 ber=0.02
+pdtch_decode: n_errors=0 n_bits_total=456 ber=0.00
+pdtch_decode: n_errors=132 n_bits_total=588 ber=0.22
+pdtch_decode: n_errors=220 n_bits_total=676 ber=0.33
+pdtch_decode: n_errors=0 n_bits_total=444 ber=0.00
+pdtch_decode: n_errors=0 n_bits_total=456 ber=0.00
+pdtch_decode: n_errors=132 n_bits_total=588 ber=0.22
+pdtch_decode: n_errors=220 n_bits_total=676 ber=0.33
+pdtch_decode: n_errors=0 n_bits_total=444 ber=0.00
+Success