IVGCVSW-3964 Implement the Periodic Counter Selection command handler

 * Improved the PeriodicCounterPacket class to handle errors properly
 * Improved the PeriodicCounterSelectionCommandHandler to handle
   invalid counter UIDs in the selection packet
 * Added the Periodic Counter Selection command handler to the
   ProfilingService class
 * Code refactoring and added comments
 * Added WaitForPacketSent method to the SendCounterPacket class
   to allow waiting for the packets to be sent (useful in the
   unit tests)
 * Added unit tests and updated the old ones accordingly
 * Fixed threading issues with a number of unit tests

Signed-off-by: Matteo Martincigh <matteo.martincigh@arm.com>
Change-Id: I271b7b0bfa801d88fe1725b934d24e30cd839ed7
diff --git a/src/profiling/Holder.hpp b/src/profiling/Holder.hpp
index 72ca091..3143105 100644
--- a/src/profiling/Holder.hpp
+++ b/src/profiling/Holder.hpp
@@ -27,12 +27,12 @@
         : m_CapturePeriod(captureData.m_CapturePeriod)
         , m_CounterIds(captureData.m_CounterIds) {}
 
-    CaptureData& operator= (const CaptureData& captureData);
+    CaptureData& operator=(const CaptureData& other);
 
     void SetCapturePeriod(uint32_t capturePeriod);
     void SetCounterIds(const std::vector<uint16_t>& counterIds);
     uint32_t GetCapturePeriod() const;
-    std::vector<uint16_t> GetCounterIds() const;
+    const std::vector<uint16_t>& GetCounterIds() const;
 
 private:
     uint32_t m_CapturePeriod;