Move CPU context pointers into cpu_data

This patch build on #136

Moving the context pointers for each CPU into the per-cpu data
allows for much more efficient access to the contexts for the
current CPU.