IVGCVSW-3705 Add Channel Shuffle Front end and Ref Implementation

* Add front end
* Add reference workload
* Add unit tests
* Add Serializer and Deserializer
* Update ArmNN Versioning

Signed-off-by: Simon Obute <simon.obute@arm.com>
Change-Id: I9ac1f953af3974382eac8e8d62d794d2344e8f47
diff --git a/src/armnn/Network.cpp b/src/armnn/Network.cpp
index db7b4c9..8409717 100644
--- a/src/armnn/Network.cpp
+++ b/src/armnn/Network.cpp
@@ -512,6 +512,12 @@
     return pNetworkImpl->AddUnidirectionalSequenceLstmLayer(descriptor, params, name);
 }
 
+IConnectableLayer* INetwork::AddChannelShuffleLayer(const ChannelShuffleDescriptor &descriptor,
+                                                    const char* name)
+{
+    return pNetworkImpl->AddChannelShuffleLayer(descriptor, name);
+}
+
 void INetwork::Accept(ILayerVisitor& visitor) const
 {
     return pNetworkImpl->Accept(visitor);
@@ -1817,6 +1823,11 @@
 {
     return m_Graph->AddLayer<CastLayer>(name);
 }
+IConnectableLayer* NetworkImpl::AddChannelShuffleLayer(const ChannelShuffleDescriptor& channelShuffleDescriptor,
+                                               const char* name)
+{
+    return m_Graph->AddLayer<ChannelShuffleLayer>(channelShuffleDescriptor, name);
+}
 
 IConnectableLayer* NetworkImpl::AddComparisonLayer(const ComparisonDescriptor& comparisonDescriptor,
                                                const char* name)