lms: Store device type specific parameters in one place

Add an enum containing each supported device type (LimeSDR-USB,
LimeSDR-Mini and LimeNet-Micro) plus "unknown", to leave some room for
yet-to-come devices to run with some generic parameters without
rebuilding osmo-trx.

Each device type is assigned a dev_desc structure, and all of them are
put in HashMap, similar to what's already done in UHDDevice.cpp.

Device type is infered from string provided by LMS_GetDeviceInfo(), as
it was already done before in several places. From now on, we only need
to parse the string once since we store the device type after first
during open time.

Later on, more fields will be moved to device-type specific structure,
such as Tx timing offset, clock rate, etc.

Change-Id: I7658615787c5bc41c365bab9c11733b701ac2ae5
diff --git a/CommonLibs/trx_vty.h b/CommonLibs/trx_vty.h
index d20dd96..c0d54cf 100644
--- a/CommonLibs/trx_vty.h
+++ b/CommonLibs/trx_vty.h
@@ -5,6 +5,7 @@
 #include "config_defs.h"
 
 extern struct vty_app_info g_vty_info;
+extern const struct value_string clock_ref_names[];
 extern const struct value_string filler_names[];
 
 /* Maximum number of physical RF channels */