kernel: Align user_thread objects to CACHE_LINE_SIZE
scheduler: system_time() may be unreliable

On multisocket systems as well as under virtual machines logical CPUs
may use separate TSC. We could attempt to synchronize them what probably
would solve problems on multisocket systems. Unfortunately, when running
under hypervisor there is still a chance that TSC will get out of sync
again (e.g. cpufreq enabled on host when there is no invariant TSC). As
long as we use RDTSC as our main time source the scheduler must accept the
fact that time may go backwards (what isn't really a serious problem).
add-ons/kernel: Use UsePrivateKernelHeaders where appropriate
kernel: No need for arch specific ifdefs in arch/atomic.h