This commit adds `MessageBackedArray`, which implements a dynamic
array backed by a `Message` for data storage.
The new array class supports:
- Pushing new elements to the end.
- Reading and writing elements at specific indices.
- Searching in the array to find matching entries.
- Iterating over array elements.
- Clearing the array and freeing the underlying message.
Unit tests are added in `tests/unit/test_msg_backed_array.cpp` to
verify its functionality.