IVGCVSW-2946 RefElementwiseWorkload configures prior to first execute

+ Added PostAllocationConfigure() method to workload interface
+ Elementwise function now deduces types based on Functor
- Replaced RefComparisonWorkload with RefElementwiseWorkload specialization
+ Fixed up unit tests and minor formatting

Change-Id: I33d08797767bba01cf4efb2904920ce0f950a4fe
Signed-off-by: Derek Lamberti <derek.lamberti@arm.com>
diff --git a/src/backends/backendsCommon/Workload.hpp b/src/backends/backendsCommon/Workload.hpp
index 447ec1b..3efd7db 100644
--- a/src/backends/backendsCommon/Workload.hpp
+++ b/src/backends/backendsCommon/Workload.hpp
@@ -20,6 +20,7 @@
 public:
     virtual ~IWorkload() {}
 
+    virtual void PostAllocationConfigure() = 0;
     virtual void Execute() const = 0;
 
     virtual void RegisterDebugCallback(const DebugCallbackFunction& func) {}
@@ -44,6 +45,8 @@
         m_Data.Validate(info);
     }
 
+    void PostAllocationConfigure() override {}
+
     const QueueDescriptor& GetData() const { return m_Data; }
 
 protected: