Replace Run Keyword And Return Status soft checks with direct assertions
in three test cases:
- Docstring check now uses Should Contain directly instead of logging
WARN, so missing docstrings cause a hard test failure.
- Settings file (config/settings.py) existence is now a hard File Should
Exist assertion instead of a conditional that silently skips all
checks when the file is absent.
- Exceptions file (core/exceptions.py) existence is now a hard File
Should Exist assertion instead of a conditional that silently skips
the exception hierarchy checks when the file is absent.