* ref: rework on stack array data structure
- The `Stack` class is placed within the `data_structures` namespace
- The destructor is added to the Stack class to ensure memory deallocation
- Comments are added to the member functions to describe their purpose
- The self-test function is provided, which demonstrates the usage of the Stack class
* chore(docs): add `namespace` docstring
* chore: add `std::out_of_range` exception and test cases when stack is empty
* ref: add `full` and `empty` methods
* ref: improve stack array implementation
- Use TOS instead of stack index
- Add tests for overflow and underflow
* fix: remove comparision to true from asserts
* chore: remove `stack.hpp`
* fix: revert
* Update data_structures/stack_using_array.cpp
* docs: add namespace comment
* chore: remove redundant line in docstring of `empty` method
---------
Co-authored-by: realstealthninja <68815218+realstealthninja@users.noreply.github.com>