IVGCVSW-3030 Add unit testing for the Optimization API

 * Added OptimizeSubgraphViewTests file covering a number of
   use cases for the Optimization API
 * Fixed a bug in the sub-graph selector algorithm that skipped the
   first layer in a sub-graph if it wasn't an input layer
 * Changed the graph splitting logic to make use of maps instead of
   unordered_maps to keep the split sub-graphs in consistent order
   between executions
 * Added more common unit test utils
 * Minor fixes to comply to the include file conventions

Change-Id: Iad464eaedd004109e5ef41aa487cea3ad86177d3
Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
diff --git a/src/backends/backendsCommon/test/CMakeLists.txt b/src/backends/backendsCommon/test/CMakeLists.txt
index ab63679..83a1da5 100644
--- a/src/backends/backendsCommon/test/CMakeLists.txt
+++ b/src/backends/backendsCommon/test/CMakeLists.txt
@@ -9,6 +9,7 @@
     BackendIdTests.cpp
     BackendRegistryTests.cpp
     BatchNormTestImpl.hpp
+    CommonTestUtils.cpp
     CommonTestUtils.hpp
     Conv2dTestImpl.hpp
     ConvertFp16ToFp32TestImpl.hpp
@@ -34,6 +35,7 @@
     MockBackend.hpp
     MockBackendId.hpp
     OptimizedNetworkTests.cpp
+    OptimizeSubgraphViewTests.cpp
     PermuteTestImpl.hpp
     Pooling2dTestImpl.hpp
     QuantizeHelper.hpp