IVGCVSW-5985 Remove deprecated code

 * Removes deprecated AddLayer, IsLayerSupported functions
 * Marks the whole LayerVisitor class as deprecated not just the
   constructor. This required to wrap all Accept functions in a
   no deprecate macro because the LayerVisitor is used as a parameter in
   there
 * Removes usage of deprecated LayerVisitor and replaces it
   with ExecuteStrategy. This required a few structural changes
   in the unit tests
 * Adds a default implementation for IStrategy called StrategyBase
 * Changes pyarmnn to use non deprecated constructor for
   INetworkProperties and adds related unit test
 * Marks usage of deprecated code in pyarmnn as deprecated. This
   required to extend INetworkProperties to allow backwards compatibility
 * Removes deprecated functions from CpuAcc, GpuAcc and Ref backends

Note: This patch breaks compatibility with backends that are not
      updated in this patch

!android-nn-driver:6325

Signed-off-by: Jan Eilers <jan.eilers@arm.com>
Change-Id: Id13b6f37a74d26eadeda2da1dc92915e725ed5a5
diff --git a/python/pyarmnn/test/test_runtime.py b/python/pyarmnn/test/test_runtime.py
index ff0ad40..295c870 100644
--- a/python/pyarmnn/test/test_runtime.py
+++ b/python/pyarmnn/test/test_runtime.py
@@ -3,6 +3,7 @@
 import os
 
 import pytest
+import warnings
 import numpy as np
 
 import pyarmnn as ann
@@ -156,6 +157,30 @@
     assert "" == messages
     assert net_id == 0
 
+def test_network_properties_constructor(random_runtime):
+    preferred_backends = random_runtime[0]
+    network = random_runtime[1]
+    runtime = random_runtime[2]
+
+    opt_network, _ = ann.Optimize(network, preferred_backends,
+                                  runtime.GetDeviceSpec(), ann.OptimizerOptions())
+
+    inputSource = ann.MemorySource_Undefined
+    outputSource = ann.MemorySource_Undefined
+    properties = ann.INetworkProperties(True, inputSource, outputSource)
+    assert properties.m_AsyncEnabled == True
+    assert properties.m_ProfilingEnabled == False
+    assert properties.m_OutputNetworkDetailsMethod == ann.ProfilingDetailsMethod_Undefined
+    assert properties.m_InputSource == ann.MemorySource_Undefined
+    assert properties.m_OutputSource == ann.MemorySource_Undefined
+
+    net_id, messages = runtime.LoadNetwork(opt_network, properties)
+    assert "" == messages
+    assert net_id == 0
+
+def test_network_properties_deprecated_constructor():
+    with pytest.warns(DeprecationWarning):
+        warnings.warn("Deprecated: Use constructor with MemorySource argument instead.", DeprecationWarning)
 
 def test_unload_network_fails_for_invalid_net_id(random_runtime):
     preferred_backends = random_runtime[0]