Added discrete threshold trigger support

Implemented discrete threshold logic
Discrete trigger with empty threshold array is handled as 'onChange'
Added unit tests coverage for discrete trigger

Supported scenarios:
-discrete threshold with value and dwell time
-discrete threshold with value, without dwell time
-discrete trigger without threshold ('onChange')

Tests:
-Unit tests passed

Change-Id: Id60a48f4113bd955d97e154888c00d1b6e5490af
Signed-off-by: Szymon Dompke <szymon.dompke@intel.com>
diff --git a/tests/meson.build b/tests/meson.build
index 5be01be..d2e5aac 100644
--- a/tests/meson.build
+++ b/tests/meson.build
@@ -11,8 +11,10 @@
     executable(
         'telemetry-ut',
         [
+            '../src/discrete_threshold.cpp',
             '../src/metric.cpp',
             '../src/numeric_threshold.cpp',
+            '../src/on_change_threshold.cpp',
             '../src/persistent_json_storage.cpp',
             '../src/report.cpp',
             '../src/report_factory.cpp',
@@ -28,8 +30,10 @@
             'src/stubs/dbus_sensor_object.cpp',
             'src/test_conversion.cpp',
             'src/test_detached_timer.cpp',
+            'src/test_discrete_threshold.cpp',
             'src/test_metric.cpp',
             'src/test_numeric_threshold.cpp',
+            'src/test_on_change_threshold.cpp',
             'src/test_persistent_json_storage.cpp',
             'src/test_report.cpp',
             'src/test_report_manager.cpp',