COMPMID-2646: Wrap thread-related structure to ease bare-metal support

Wraps "lock_guard" and "unique_lock" to ease bare-metal support.
Adds basic armclang compilation flow.

Change-Id: I44ccd042652acd6a9b442c57c879db3891abb0e2
Signed-off-by: Georgios Pinitas <georgios.pinitas@arm.com>
Reviewed-on: https://review.mlplatform.org/c/1923
Tested-by: Arm Jenkins <bsgcomp@arm.com>
Reviewed-by: Pablo Marquez <pablo.tello@arm.com>
Comments-Addressed: Arm Jenkins <bsgcomp@arm.com>
diff --git a/src/core/utils/logging/LoggerRegistry.cpp b/src/core/utils/logging/LoggerRegistry.cpp
index 055e770..fe71902 100644
--- a/src/core/utils/logging/LoggerRegistry.cpp
+++ b/src/core/utils/logging/LoggerRegistry.cpp
@@ -24,6 +24,7 @@
 #include "arm_compute/core/utils/logging/LoggerRegistry.h"
 
 #include "arm_compute/core/Error.h"
+#include "support/Mutex.h"
 #include "support/ToolchainSupport.h"
 
 using namespace arm_compute::logging;
@@ -44,7 +45,7 @@
 
 void LoggerRegistry::create_logger(const std::string &name, LogLevel log_level, const std::vector<std::shared_ptr<Printer>> &printers)
 {
-    std::lock_guard<arm_compute::Mutex> lock(_mtx);
+    arm_compute::lock_guard<arm_compute::Mutex> lock(_mtx);
     if((_loggers.find(name) == _loggers.end()) && (_reserved_loggers.find(name) == _reserved_loggers.end()))
     {
         _loggers[name] = std::make_shared<Logger>(name, log_level, printers);
@@ -53,7 +54,7 @@
 
 void LoggerRegistry::remove_logger(const std::string &name)
 {
-    std::lock_guard<arm_compute::Mutex> lock(_mtx);
+    arm_compute::lock_guard<arm_compute::Mutex> lock(_mtx);
     if(_loggers.find(name) != _loggers.end())
     {
         _loggers.erase(name);
@@ -62,13 +63,13 @@
 
 std::shared_ptr<Logger> LoggerRegistry::logger(const std::string &name)
 {
-    std::lock_guard<arm_compute::Mutex> lock(_mtx);
+    arm_compute::lock_guard<arm_compute::Mutex> lock(_mtx);
     return (_loggers.find(name) != _loggers.end()) ? _loggers[name] : nullptr;
 }
 
 void LoggerRegistry::create_reserved_loggers(LogLevel log_level, const std::vector<std::shared_ptr<Printer>> &printers)
 {
-    std::lock_guard<arm_compute::Mutex> lock(_mtx);
+    arm_compute::lock_guard<arm_compute::Mutex> lock(_mtx);
     for(const auto &r : _reserved_loggers)
     {
         if(_loggers.find(r) == _loggers.end())