Handle optional biases better in Neon/Cl FullyConnected workloads

Use armnn::Optional for optional bias TensorInfos, similar to how
it's already done in Convolution etc.

Fixes some test failures found using -fsanitize=undefined

Change-Id: I7b887e63e2ffab14aeab14415069be738d938ebb
Signed-off-by: Matthew Bentham <matthew.bentham@arm.com>
diff --git a/src/backends/cl/workloads/ClFullyConnectedWorkload.hpp b/src/backends/cl/workloads/ClFullyConnectedWorkload.hpp
index 2107577..3ab9f98 100644
--- a/src/backends/cl/workloads/ClFullyConnectedWorkload.hpp
+++ b/src/backends/cl/workloads/ClFullyConnectedWorkload.hpp
@@ -18,7 +18,7 @@
 arm_compute::Status ClFullyConnectedWorkloadValidate(const TensorInfo& input,
                                                      const TensorInfo& output,
                                                      const TensorInfo& weights,
-                                                     const TensorInfo& biases,
+                                                     const Optional<TensorInfo>& biases,
                                                      const FullyConnectedDescriptor& descriptor,
                                                      const ActivationDescriptor* activationDescriptor = nullptr);