Add attribute [[noreturn]]
(C++11) to functions that will not return.
Rationale:
- Reduce the number of false positives/false negatives from static analyzers with regards to things such as unused or unreachable code
- Potentially enable additional compiler optimizations