add support for async mutex

Add support for async mutex for synchronizing coroutines/tasks using
sender receiver framework. Also, add lock_guard support which provides a
RAII wrapper for mutex to own it for the duration of a scoped block.

Tested: Add Unit Test using gtest
```
1/1 test_async_mutex OK              2.01s

Ok:                 1
Expected Fail:      0
Fail:               0
Unexpected Pass:    0
Skipped:            0
Timeout:            0
```

Change-Id: I691528885a94b9cf55d4b7f2fb0c1e0e6d0ab84f
Signed-off-by: Jagpal Singh Gill <paligill@gmail.com>
Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
diff --git a/test/meson.build b/test/meson.build
index 2459bd0..f67bf32 100644
--- a/test/meson.build
+++ b/test/meson.build
@@ -23,6 +23,7 @@
     'async/context',
     'async/fdio',
     'async/fdio_timed',
+    'async/mutex',
     'async/task',
     'async/timer',
     'async/watchdog',