Update header includes

Many files include unnecessary headers and don't include headers which
are actually used. Because of that combined with the fact that OsmoPCU
is a mixture of C and C++, it makes it hard to modularize code. Fix
this (using iwyu [1] tool):

* add missing headers
* remove unused headers

[1] https://include-what-you-use.org/

Related: OS#1539
Change-Id: I8c9f488a43b099c72b2d30d3245e7ba50872fc00
diff --git a/src/bts.cpp b/src/bts.cpp
index cbd3a1c..b0d92f0 100644
--- a/src/bts.cpp
+++ b/src/bts.cpp
@@ -25,9 +25,10 @@
 #include <decoding.h>
 #include <rlc.h>
 #include <pcu_l1_if.h>
-
+#include <gprs_ms.h>
 #include <gprs_rlcmac.h>
 #include <gprs_debug.h>
+#include <cxx_linuxlist.h>
 
 extern "C" {
 	#include <osmocom/core/talloc.h>
@@ -37,10 +38,12 @@
 	#include <osmocom/gsm/gsm_utils.h>
 	#include <osmocom/core/gsmtap_util.h>
 	#include <osmocom/core/application.h>
+	#include <osmocom/core/bitvec.h>
+	#include <osmocom/core/gsmtap.h>
+	#include <osmocom/core/logging.h>
+	#include <osmocom/core/utils.h>
 }
 
-#include <arpa/inet.h>
-
 #include <errno.h>
 #include <string.h>