kernel: Make get_cpu_topology() return a pointer to const

The client code is not supposed to change the topology info.
It would be also nice if cpu_topology_node::children was an array of
pointers to const but that would require several const_casts in the
topology tree generation code so it's probably not worth it.
kernel: Propagate scheduler modes to cpu{freq, idle} modules
scheduler: Fix unassigning threads from core being disabled