[kernel] remove current_thread global, add get|set_current_thread() accessor

-Up to the architecture to implement the getter|setter
[arch] update all the arches to implement get_current_thread()

-For ARM and ARM64, use the cpu local registers
-for X86, X86-64, and ARM-M, use a global variable