threadReturnTrap: add "noreturn" attribute
threadRunner: call threadReturnTrap() after actual thread function returns, add "noreturn" attribute
architecture::initializeStack() no longer takes "trap" parameter - thread's function is expected to never return; setting LR to 0 helps GDB, as sometimes debug session can crash when trying to load some invalid stack frames

modify all users of this function: initializeStackProxy(), Stack::Stack() and ThreadControlBlock::ThreadControlBlock()
ThreadControlBlock: implement threadRunner() as private static member function, delete threadRunner.cpp/.hpp
ThreadControlBlock: move threadReturnTrap() functionality into ThreadControlBlock::threadRunner(), delete threadReturnTrap.cpp/.hpp
MainThreadControlBlock: remove duplicated comment
ThreadControlBlock: rename ThreadControlBlock::run_() to ThreadControlBlock::run()
formatting/naming change